<?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>214688</bug_id>
          
          <creation_ts>2020-07-23 08:42:39 -0700</creation_ts>
          <short_desc>REGRESSION (r264690): [ iOS wk2 ] editing/selection/shift-click-includes-existing-selection.html is a flaky failure</short_desc>
          <delta_ts>2020-07-26 12:25:34 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Karl Rackler">rackler</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>darin</cc>
    
    <cc>hi</cc>
    
    <cc>megan_gardner</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>1674228</commentid>
    <comment_count>0</comment_count>
    <who name="Karl Rackler">rackler</who>
    <bug_when>2020-07-23 08:42:39 -0700</bug_when>
    <thetext>Description:
editing/selection/shift-click-includes-existing-selection.html

This appears to have started after https://trac.webkit.org/changeset/264690/webkit .

History:
https://results.webkit.org/?suite=layout-tests&amp;test=editing%2Fselection%2Fshift-click-includes-existing-selection.html&amp;platform=ios&amp;flavor=wk2&amp;style=release&amp;limit=50000

Diff:
--- /Volumes/Data/slave/ipados-simulator-13-release-tests-wk2/build/layout-test-results/editing/selection/shift-click-includes-existing-selection-expected.txt
+++ /Volumes/Data/slave/ipados-simulator-13-release-tests-wk2/build/layout-test-results/editing/selection/shift-click-includes-existing-selection-actual.txt
@@ -24,13 +24,13 @@
 |   &quot;The quick brown fox jumped over the &quot;
 |   &lt;span&gt;
 |     id=&quot;start&quot;
-|     &quot;&lt;#selection-anchor&gt;lazy dog.&quot;
+|     &quot;lazy dog.&quot;
 | &quot;
     &quot;
 | &lt;p&gt;
 |   &lt;span&gt;
 |     id=&quot;end&quot;
-|     &quot;T&lt;#selection-focus&gt;&quot;
+|     &quot;&lt;#selection-caret&gt;T&quot;
 |   &quot;he quick brown fox jumped over the lazy dog.&quot;
 | &quot;
 &quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1674229</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-07-23 08:43:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/65993683&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1674231</commentid>
    <comment_count>2</comment_count>
    <who name="Karl Rackler">rackler</who>
    <bug_when>2020-07-23 08:50:36 -0700</bug_when>
    <thetext>I have marked these tests as failing while this issue is investigated.
https://trac.webkit.org/changeset/264765/webkit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1674666</commentid>
    <comment_count>3</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-07-24 09:04:26 -0700</bug_when>
    <thetext>I haven’t been able to reproduce the text diff result at all locally, but I am observing a flaky timeout locally when running the test back-to-back for many iterations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1674805</commentid>
    <comment_count>4</comment_count>
      <attachid>405171</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-07-24 13:47:07 -0700</bug_when>
    <thetext>Created attachment 405171
Data collection</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1674807</commentid>
    <comment_count>5</comment_count>
      <attachid>405172</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-07-24 13:56:52 -0700</bug_when>
    <thetext>Created attachment 405172
Data collection</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1674823</commentid>
    <comment_count>6</comment_count>
      <attachid>405175</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-07-24 14:32:23 -0700</bug_when>
    <thetext>Created attachment 405175
Data collection (2)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1674825</commentid>
    <comment_count>7</comment_count>
      <attachid>405176</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-07-24 14:33:03 -0700</bug_when>
    <thetext>Created attachment 405176
Data collection (3)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1674826</commentid>
    <comment_count>8</comment_count>
      <attachid>405177</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-07-24 14:33:47 -0700</bug_when>
    <thetext>Created attachment 405177
Data collection (4)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1674827</commentid>
    <comment_count>9</comment_count>
      <attachid>405178</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-07-24 14:34:33 -0700</bug_when>
    <thetext>Created attachment 405178
Data collection (5)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1674828</commentid>
    <comment_count>10</comment_count>
      <attachid>405179</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-07-24 14:35:52 -0700</bug_when>
    <thetext>Created attachment 405179
Data collection (6)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1674829</commentid>
    <comment_count>11</comment_count>
      <attachid>405180</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-07-24 14:36:34 -0700</bug_when>
    <thetext>Created attachment 405180
Data collection (7)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1674830</commentid>
    <comment_count>12</comment_count>
      <attachid>405181</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-07-24 14:36:44 -0700</bug_when>
    <thetext>Created attachment 405181
Data collection (8)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1674831</commentid>
    <comment_count>13</comment_count>
      <attachid>405182</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-07-24 14:36:54 -0700</bug_when>
    <thetext>Created attachment 405182
Data collection (9)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1674832</commentid>
    <comment_count>14</comment_count>
      <attachid>405183</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-07-24 14:37:03 -0700</bug_when>
    <thetext>Created attachment 405183
Data collection (10)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1674834</commentid>
    <comment_count>15</comment_count>
      <attachid>405184</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-07-24 14:38:19 -0700</bug_when>
    <thetext>Created attachment 405184
Data collection (11)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1674873</commentid>
    <comment_count>16</comment_count>
      <attachid>405192</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-07-24 15:42:10 -0700</bug_when>
    <thetext>Created attachment 405192
Speculative fix?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1674880</commentid>
    <comment_count>17</comment_count>
      <attachid>405192</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-07-24 15:52:43 -0700</bug_when>
    <thetext>Comment on attachment 405192
Speculative fix?

If it works, consider it reviewed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1674886</commentid>
    <comment_count>18</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-07-24 15:57:58 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #17)
&gt; Comment on attachment 405192 [details]
&gt; Speculative fix?
&gt; 
&gt; If it works, consider it reviewed.

Thanks for taking a look!

Unfortunately, this is speculative at best, as it seems EWS is also unable to reproduce this failure. I’ve also been unable to reproduce it locally, both when running the test for 1000s of iterations in isolation, and when running all the tests in the same directory for 100s of iterations.

However, I *have* been able to reproduce a flaky timeout locally, whose root cause is described in this fix. I’m really hoping that this timeout I’ve observed locally is (somehow) the same issue as what the post-commit bots are seeing (both internal and non-internal), and that this fix will address what Karl and the other bot-watchers observed :/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1674897</commentid>
    <comment_count>19</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-07-24 16:18:25 -0700</bug_when>
    <thetext>Committed r264868: &lt;https://trac.webkit.org/changeset/264868&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 405192.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1674963</commentid>
    <comment_count>20</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-07-24 19:18:45 -0700</bug_when>
    <thetext>(In reply to Wenson Hsieh from comment #18)
&gt; (In reply to Darin Adler from comment #17)
&gt; &gt; Comment on attachment 405192 [details]
&gt; &gt; Speculative fix?
&gt; &gt; 
&gt; &gt; If it works, consider it reviewed.
&gt; 
&gt; Thanks for taking a look!
&gt; 
&gt; Unfortunately, this is speculative at best, as it seems EWS is also unable
&gt; to reproduce this failure. I’ve also been unable to reproduce it locally,
&gt; both when running the test for 1000s of iterations in isolation, and when
&gt; running all the tests in the same directory for 100s of iterations.
&gt; 
&gt; However, I *have* been able to reproduce a flaky timeout locally, whose root
&gt; cause is described in this fix. I’m really hoping that this timeout I’ve
&gt; observed locally is (somehow) the same issue as what the post-commit bots
&gt; are seeing (both internal and non-internal), and that this fix will address
&gt; what Karl and the other bot-watchers observed :/

&lt;https://build.webkit.org/builders/Apple%20iOS%2013%20Simulator%20Release%20WK2%20%28Tests%29/builds/5859/steps/layout-test/logs/stdio&gt; shows a text diff, so I don’t think this speculative fix worked (though, it is needed anyways in order to fix the rare timeout for this test).

It’s very unfortunate that the above EWS runs ran the test 9000 times with 0 failures. I think the only way to proceed is to check in temporary debug logging for post-commit automation to run, until we can gather enough information for a second speculative fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1674966</commentid>
    <comment_count>21</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-07-24 19:19:16 -0700</bug_when>
    <thetext>Reopening.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1674978</commentid>
    <comment_count>22</comment_count>
      <attachid>405218</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-07-24 20:11:07 -0700</bug_when>
    <thetext>Created attachment 405218
Test another theory</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1674985</commentid>
    <comment_count>23</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-07-24 20:52:52 -0700</bug_when>
    <thetext>Committed r264882: &lt;https://trac.webkit.org/changeset/264882&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 405218.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1674986</commentid>
    <comment_count>24</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-07-24 20:53:38 -0700</bug_when>
    <thetext>(Reopening, because the last patch just adds logging).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1675016</commentid>
    <comment_count>25</comment_count>
      <attachid>405231</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-07-25 12:29:35 -0700</bug_when>
    <thetext>Created attachment 405231
Speculative fix #2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1675021</commentid>
    <comment_count>26</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-07-25 13:02:28 -0700</bug_when>
    <thetext>Committed r264890: &lt;https://trac.webkit.org/changeset/264890&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 405231.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1675031</commentid>
    <comment_count>27</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-07-25 15:46:46 -0700</bug_when>
    <thetext>(In reply to EWS from comment #26)
&gt; Committed r264890: &lt;https://trac.webkit.org/changeset/264890&gt;
&gt; 
&gt; All reviewed patches have been landed. Closing bug and clearing flags on
&gt; attachment 405231 [details].

Still not enough to fix this :(

From https://build.webkit.org/builders/Apple%20iPadOS%2013%20Simulator%20Release%20WK2%20%28Tests%29/builds/4109/steps/layout-test/logs/stdio...

&gt; 14:57:30.770 78653 worker/9 editing/selection/shift-click-includes-existing-selection.html output stderr lines:
&gt; 14:57:30.770 78653   Synthesizing modifier keydown events.
&gt; 14:57:30.770 78653   Synthesizing tap.
&gt; 14:57:30.771 78653   -[WKContentView(WKInteraction) _singleTapIdentified:] - modifier flags: 0x00
&gt; 14:57:30.771 78653   -[WKContentView(WKInteraction) _singleTapRecognized:] - modifier flags: 0x00
&gt; 14:57:30.771 78653   Committing potential tap with modifiers: 0x00
&gt; 14:57:30.771 78653   Handling synthetic click at (16, 223) with modifiers: 0x00
&gt; 14:57:30.771 78653   Synthesizing modifier keyup events.
&gt; 14:57:31.269 78653 &quot;ruby -I /Volumes/Data/slave/ipados-simulator-13-release-tests-wk2/build/Websites/bugs.webkit.org/PrettyPatch /Volumes/Data/slave/ipados-simulator-13-release-tests-wk2/build/Websites/bugs.webkit.org/PrettyPatch/prettify.rb /Volumes/Data/slave/ipados-simulator-13-release-tests-wk2/build/layout-test-results/editing/selection/shift-click-includes-existing-selection-diff.txt&quot; took 0.50s
&gt; 14:57:31.272 78653 worker/9 editing/selection/shift-click-includes-existing-selection.html failed:
&gt; 14:57:31.272 78653 worker/9  text diff</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1675032</commentid>
    <comment_count>28</comment_count>
      <attachid>405234</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-07-25 16:33:08 -0700</bug_when>
    <thetext>Created attachment 405234
Test yet another theory</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1675033</commentid>
    <comment_count>29</comment_count>
      <attachid>405235</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-07-25 16:41:12 -0700</bug_when>
    <thetext>Created attachment 405235
Test yet another theory</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1675035</commentid>
    <comment_count>30</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-07-25 17:39:50 -0700</bug_when>
    <thetext>Committed r264892: &lt;https://trac.webkit.org/changeset/264892&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 405235.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1675037</commentid>
    <comment_count>31</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-07-25 17:50:46 -0700</bug_when>
    <thetext>(Reopening, because the last patch just added logging)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1675039</commentid>
    <comment_count>32</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-07-25 19:51:44 -0700</bug_when>
    <thetext>Example of a pass (from https://build.webkit.org/builders/Apple%20iOS%2013%20Simulator%20Debug%20WK2%20%28Tests%29/builds/4858/steps/layout-test/logs/stdio):

&gt; 18:12:26.062 14700 worker/8 editing/selection/shift-click-includes-existing-selection.html output stderr lines:
&gt; 18:12:26.062 14700   Synthesizing modifier keydown events.
&gt; 18:12:26.062 14700   Synthesizing tap.
&gt; 18:12:26.062 14700   (Before): keyboard 0x6000038903c0 has modifier state: 0x00
&gt; 18:12:26.062 14700   (After): keyboard 0x6000038903c0 has modifier state: 0x20000
&gt; 18:12:26.062 14700   -[WKContentView(WKInteraction) _singleTapIdentified:] - modifier flags: 0x20000
&gt; 18:12:26.062 14700   -[WKContentView(WKInteraction) _singleTapRecognized:] - modifier flags: 0x20000
&gt; 18:12:26.062 14700   Committing potential tap with modifiers: 0x01
&gt; 18:12:26.062 14700   Synthesizing modifier keyup events.
&gt; 18:12:26.062 14700   Handling synthetic click at (16, 307) with modifiers: 0x01
&gt; 18:12:26.063 14700   (Before): keyboard 0x6000038903c0 has modifier state: 0x20000
&gt; 18:12:26.063 14700   (After): keyboard 0x6000038903c0 has modifier state: 0x00

Example of a text diff failure (from: https://build.webkit.org/builders/Apple%20iOS%2013%20Simulator%20Release%20WK2%20%28Tests%29/builds/5870/steps/layout-test/logs/stdio):

&gt; 18:10:48.267 87902 worker/0 editing/selection/shift-click-includes-existing-selection.html output stderr lines:
&gt; 18:10:48.267 87902   Synthesizing modifier keydown events.
&gt; 18:10:48.267 87902   Synthesizing tap.
&gt; 18:10:48.267 87902   (Before): keyboard 0x600002008500 has modifier state: 0x00
&gt; 18:10:48.267 87902   (After): keyboard 0x60000201c460 has modifier state: 0x00
&gt; 18:10:48.267 87902   -[WKContentView(WKInteraction) _singleTapIdentified:] - modifier flags: 0x00
&gt; 18:10:48.267 87902   -[WKContentView(WKInteraction) _singleTapRecognized:] - modifier flags: 0x00
&gt; 18:10:48.268 87902   Committing potential tap with modifiers: 0x00
&gt; 18:10:48.268 87902   Handling synthetic click at (16, 307) with modifiers: 0x00
&gt; 18:10:48.268 87902   Synthesizing modifier keyup events.
&gt; 18:10:48.268 87902   (Before): keyboard 0x60000201c460 has modifier state: 0x00
&gt; 18:10:48.268 87902   (After): keyboard 0x60000201c460 has modifier state: 0x00
&gt; 18:10:48.723 87902 &quot;ruby -I /Volumes/Data/slave/ios-simulator-13-release-tests-wk2/build/Websites/bugs.webkit.org/PrettyPatch /Volumes/Data/slave/ios-simulator-13-release-tests-wk2/build/Websites/bugs.webkit.org/PrettyPatch/prettify.rb /Volumes/Data/slave/ios-simulator-13-release-tests-wk2/build/layout-test-results/editing/selection/shift-click-includes-existing-selection-diff.txt&quot; took 0.45s
&gt; 18:10:48.725 87902 worker/0 editing/selection/shift-click-includes-existing-selection.html failed:
&gt; 18:10:48.725 87902 worker/0  text diff

It’s possible that the smoking gun is the fact that the UIApplication’s GSKeyboardRef changes while (or perhaps, as a result of) dispatching the modifier keydown:

In the failure case,
18:10:48.267 87902   (Before): keyboard 0x600002008500 has modifier state: 0x00
18:10:48.267 87902   (After): keyboard 0x60000201c460 has modifier state: 0x00

Versus this, in the success case:
18:12:26.062 14700   (Before): keyboard 0x6000038903c0 has modifier state: 0x00
18:12:26.062 14700   (After): keyboard 0x6000038903c0 has modifier state: 0x20000

Needs more GraphicsServices spelunking (and more datapoints) to see whether this is the culprit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1675069</commentid>
    <comment_count>33</comment_count>
      <attachid>405246</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-07-26 00:26:27 -0700</bug_when>
    <thetext>Created attachment 405246
Test yet another theory</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1675077</commentid>
    <comment_count>34</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-07-26 01:17:36 -0700</bug_when>
    <thetext>Committed r264896: &lt;https://trac.webkit.org/changeset/264896&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 405246.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1675097</commentid>
    <comment_count>35</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-07-26 09:42:19 -0700</bug_when>
    <thetext>(Reopening, because the last patch just added logging)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1675102</commentid>
    <comment_count>36</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-07-26 10:19:38 -0700</bug_when>
    <thetext>From https://build.webkit.org/builders/Apple%20iOS%2013%20Simulator%20Release%20WK2%20%28Tests%29/builds/5875/steps/layout-test/logs/stdio (with the logging added in r264896):

&gt; 09:06:26.094 84334 worker/4 editing/selection/shift-click-includes-existing-selection.html output stderr lines:
&gt; 09:06:26.094 84334   Synthesizing modifier keydown events.
&gt; 09:06:26.094 84334   Synthesizing tap.
&gt; 09:06:26.094 84334   (Before): keyboard 0x60000089c320 has modifier state: 0x00; layout:Hebrew; type: 0
&gt; 09:06:26.094 84334   (After): keyboard 0x600000894320 has modifier state: 0x00; layout:US; type: 0
&gt; 09:06:26.094 84334   -[WKContentView(WKInteraction) _singleTapIdentified:] - modifier flags: 0x00
&gt; 09:06:26.094 84334   -[WKContentView(WKInteraction) _singleTapRecognized:] - modifier flags: 0x00
&gt; 09:06:26.094 84334   Committing potential tap with modifiers: 0x00
&gt; 09:06:26.094 84334   Handling synthetic click at (16, 307) with modifiers: 0x00
&gt; 09:06:26.094 84334   Synthesizing modifier keyup events.
&gt; 09:06:26.095 84334   (Before): keyboard 0x600000894320 has modifier state: 0x00; layout:US; type: 0
&gt; 09:06:26.095 84334   (After): keyboard 0x600000894320 has modifier state: 0x00; layout:US; type: 0

The Hebrew =&gt; US keyboard change that happens in the middle of handling the keydown certainly seems suspect.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1675109</commentid>
    <comment_count>37</comment_count>
      <attachid>405254</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-07-26 11:18:50 -0700</bug_when>
    <thetext>Created attachment 405254
Speculative fix #3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1675124</commentid>
    <comment_count>38</comment_count>
      <attachid>405254</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-07-26 12:18:37 -0700</bug_when>
    <thetext>Comment on attachment 405254
Speculative fix #3

Thanks for the review!

Hopefully, this’ll fix it for good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1675128</commentid>
    <comment_count>39</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-07-26 12:25:33 -0700</bug_when>
    <thetext>Committed r264907: &lt;https://trac.webkit.org/changeset/264907&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 405254.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405171</attachid>
            <date>2020-07-24 13:47:07 -0700</date>
            <delta_ts>2020-07-24 13:56:24 -0700</delta_ts>
            <desc>Data collection</desc>
            <filename>bug-214688-20200724134701.patch</filename>
            <type>text/plain</type>
            <size>1645795</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0ODEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGE1MGM1MjFlNjdlNzY3NGEw
ZWZmYjA1N2QwNDI5MjY5NTA0YTBmYWQuLjY2NWZmZWJlNzlmZTI4Mjg0YTFkNzFjNzRlZTgwNTQ0
MjYwNzYxZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTE4IEBACisyMDIwLTA3LTI0ICBXZW5zb24g
SHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04gKHIy
NjQ2OTApOiBbIGlPUyB3azIgXSBlZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBpcyBhIGZsYWt5IGZhaWx1cmUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNDY4OAorICAgICAgICA8cmRh
cjovL3Byb2JsZW0vNjU5OTM2ODM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGVzdHM6IGVkaXRpbmcvc2VsZWN0aW9uL2Fhci1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9z
ZWxlY3Rpb24vYWF3LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
CisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9hZ2ctc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0
aW9uL2FodC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vYWltLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9h
aW4tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL2FpcC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vYWl1LXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3NlbGVjdGlvbi9hamstc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL2FsYi1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRp
dGluZy9zZWxlY3Rpb24vYW1kLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9hbnEtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcv
c2VsZWN0aW9uL2FvbC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vYXJwLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVj
dGlvbi9hdHotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAg
ICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL2F2cC1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24v
YXZzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAg
ICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9hdnYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL2F3ZS1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAg
ICAgZWRpdGluZy9zZWxlY3Rpb24vYXhjLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9heW4tc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvc2VsZWN0aW9uL2Jjby1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vYmVlLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3NlbGVjdGlvbi9iZWwtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0
bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL2JpYi1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxl
Y3Rpb24vYml0LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9ianAtc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9u
L2Jqdy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vYm1mLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9icWIt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvc2VsZWN0aW9uL2JyZS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vYnJvLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBl
ZGl0aW5nL3NlbGVjdGlvbi9idWgtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL2J1aS1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGlu
Zy9zZWxlY3Rpb24vYnV3LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9idm8tc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2Vs
ZWN0aW9uL2J3by1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAor
ICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vYnd4LXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlv
bi9iem0tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAg
ICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL2NhYS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vY2J1
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3NlbGVjdGlvbi9jZGMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL2NlZC1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9zZWxlY3Rpb24vY2VwLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9jaGktc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvc2VsZWN0aW9uL2NpZi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24u
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vY2l5LXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Nl
bGVjdGlvbi9janItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL2Nqei1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rp
b24vY2t4LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAg
ICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9jbGctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL2Nw
Yy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAg
ICAgICAgZWRpdGluZy9zZWxlY3Rpb24vY3BqLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9jcG8tc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAg
IGVkaXRpbmcvc2VsZWN0aW9uL2Nycy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vY3R0LXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3NlbGVjdGlvbi9jdmUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL2N3ZS1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9z
ZWxlY3Rpb24vY3dqLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
CisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9jeGktc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0
aW9uL2N6ay1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vZGFuLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9k
Y28tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL2RkYy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vZGRqLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3NlbGVjdGlvbi9kZmgtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL2Rmay1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRp
dGluZy9zZWxlY3Rpb24vZGdnLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9kaGgtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcv
c2VsZWN0aW9uL2RsbS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vZG1jLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVj
dGlvbi9kb2Mtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAg
ICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL2RxYS1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24v
ZHNuLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAg
ICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9kdXItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL2R3aC1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAg
ICAgZWRpdGluZy9zZWxlY3Rpb24vZHllLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9lYnktc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvc2VsZWN0aW9uL2VjZS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vZWdkLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3NlbGVjdGlvbi9lZ3Ytc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0
bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL2Vpcy1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxl
Y3Rpb24vZWl2LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9la3Itc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9u
L2VscC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vZW5zLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9lb2Qt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvc2VsZWN0aW9uL2Vwdi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vZXNlLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBl
ZGl0aW5nL3NlbGVjdGlvbi9ldGUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL2V1dS1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGlu
Zy9zZWxlY3Rpb24vZXhpLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9leHktc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2Vs
ZWN0aW9uL2V5bC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAor
ICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vZmF5LXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlv
bi9mZG0tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAg
ICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL2ZmZi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vZmZ6
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3NlbGVjdGlvbi9maWgtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL2ZpdS1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9zZWxlY3Rpb24vZmtlLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9mbHktc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvc2VsZWN0aW9uL2Zsei1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24u
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vZm1wLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Nl
bGVjdGlvbi9mbmMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL2Zzby1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rp
b24vZnNzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAg
ICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9meHotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL2Z5
bC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAg
ICAgICAgZWRpdGluZy9zZWxlY3Rpb24vZnl0LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9memstc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAg
IGVkaXRpbmcvc2VsZWN0aW9uL2dkcS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vZ2VpLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3NlbGVjdGlvbi9nZXMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL2dldy1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9z
ZWxlY3Rpb24vZ2dtLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
CisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9naGItc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0
aW9uL2docS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vZ2ljLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9n
bGwtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL2dtZC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vZ21vLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3NlbGVjdGlvbi9nb2gtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL2dvcS1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRp
dGluZy9zZWxlY3Rpb24vZ3BsLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9ncnMtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcv
c2VsZWN0aW9uL2dzai1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vZ3RxLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVj
dGlvbi9ndWstc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAg
ICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL2d3ai1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24v
Z3dsLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAg
ICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9neWktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL2hjay1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAg
ICAgZWRpdGluZy9zZWxlY3Rpb24vaGNzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9oZGwtc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvc2VsZWN0aW9uL2hkei1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vaGZwLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3NlbGVjdGlvbi9oaXQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0
bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL2hqYy1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxl
Y3Rpb24vaGp1LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9oa3Mtc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9u
L2hsZi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vaG15LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9obnUt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvc2VsZWN0aW9uL2hvZy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vaG96LXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBl
ZGl0aW5nL3NlbGVjdGlvbi9ocGUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL2hxdy1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGlu
Zy9zZWxlY3Rpb24vaHJxLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9odHYtc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2Vs
ZWN0aW9uL2h1Yi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAor
ICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vaHVmLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlv
bi9od2Itc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAg
ICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL2h4bi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vaWJj
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3NlbGVjdGlvbi9pYnItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL2lkci1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9zZWxlY3Rpb24vaWVmLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9paGstc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvc2VsZWN0aW9uL2lqdS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24u
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vaW5xLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Nl
bGVjdGlvbi9pcWMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL2lyei1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rp
b24vaXNtLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAg
ICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9pc3Itc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL2l0
aC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAg
ICAgICAgZWRpdGluZy9zZWxlY3Rpb24vaXhqLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9peWgtc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAg
IGVkaXRpbmcvc2VsZWN0aW9uL2l5aS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vamRjLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3NlbGVjdGlvbi9qZWwtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL2pmcC1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9z
ZWxlY3Rpb24vamhwLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
CisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9qaWotc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0
aW9uL2ppcS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vampqLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9q
bGUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL2psei1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vam9vLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3NlbGVjdGlvbi9qcHUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL2pxaC1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRp
dGluZy9zZWxlY3Rpb24vanFqLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9qcXEtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcv
c2VsZWN0aW9uL2p0bC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vanVnLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVj
dGlvbi9qdXctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAg
ICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL2p2dS1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24v
andwLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAg
ICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9qeGctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL2tiZS1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAg
ICAgZWRpdGluZy9zZWxlY3Rpb24va2ZxLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9rbnAtc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvc2VsZWN0aW9uL2twdS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24va3FsLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3NlbGVjdGlvbi9rcW8tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0
bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL2txdy1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxl
Y3Rpb24va3N6LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9rdGctc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9u
L2t1YS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24va3VoLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9reWkt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvc2VsZWN0aW9uL2xhZC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vbGFmLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBl
ZGl0aW5nL3NlbGVjdGlvbi9sYWgtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL2xidS1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGlu
Zy9zZWxlY3Rpb24vbGNhLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9sZGItc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2Vs
ZWN0aW9uL2xkeS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAor
ICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vbGhkLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlv
bi9saG0tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAg
ICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL2xpZy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vbGpl
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3NlbGVjdGlvbi9sbHEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL2xuaS1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9zZWxlY3Rpb24vbHFvLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9scXAtc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvc2VsZWN0aW9uL2xxdi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24u
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vbHJiLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Nl
bGVjdGlvbi9sc2gtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL2x0ZC1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rp
b24vbHVxLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAg
ICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9sdXQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL2x2
ZC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAg
ICAgICAgZWRpdGluZy9zZWxlY3Rpb24vbHhhLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9seW0tc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAg
IGVkaXRpbmcvc2VsZWN0aW9uL21hcS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vbWNpLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3NlbGVjdGlvbi9tY2stc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL21oby1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9z
ZWxlY3Rpb24vbWlmLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
CisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9ta2Qtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0
aW9uL21wZi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vbXBvLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9t
c2otc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL213dy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vbXhnLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3NlbGVjdGlvbi9teXotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL25hcy1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRp
dGluZy9zZWxlY3Rpb24vbmJyLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9uZGQtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcv
c2VsZWN0aW9uL25kdC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vbmVpLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVj
dGlvbi9uZXQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAg
ICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL25odS1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24v
bmpwLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAg
ICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9ubGMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL25scy1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAg
ICAgZWRpdGluZy9zZWxlY3Rpb24vbm5qLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9ubnEtc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvc2VsZWN0aW9uL250cy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vbndoLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3NlbGVjdGlvbi9ueHItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0
bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL255ZS1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxl
Y3Rpb24vbnpxLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9vYm4tc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9u
L29jei1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vb2RmLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9vZWQt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvc2VsZWN0aW9uL29qeC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vb2tkLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBl
ZGl0aW5nL3NlbGVjdGlvbi9vcGQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL29wdy1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGlu
Zy9zZWxlY3Rpb24vb3FrLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9vcm0tc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2Vs
ZWN0aW9uL29ydy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAor
ICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vb3RsLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlv
bi9vdnQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAg
ICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL293ZS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vb3dz
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3NlbGVjdGlvbi9veXMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL296dy1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9zZWxlY3Rpb24vcGF4LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9wYm4tc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvc2VsZWN0aW9uL3BjYS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24u
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vcGVxLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Nl
bGVjdGlvbi9wZmotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL3Bndi1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rp
b24vcGpsLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAg
ICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9wcGQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL3Bx
cS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAg
ICAgICAgZWRpdGluZy9zZWxlY3Rpb24vcHJtLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9wdWktc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAg
IGVkaXRpbmcvc2VsZWN0aW9uL3B3Zy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vcHhhLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3NlbGVjdGlvbi9weGYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL3B6di1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9z
ZWxlY3Rpb24vcWVhLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
CisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9xZXgtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0
aW9uL3FmcC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vcWZ2LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9x
aGotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL3Fodi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vcWppLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3NlbGVjdGlvbi9xa28tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL3Frdy1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRp
dGluZy9zZWxlY3Rpb24vcW5kLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9xcnYtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcv
c2VsZWN0aW9uL3Fzay1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vcXRrLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVj
dGlvbi9xdXktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAg
ICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL3F3aS1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24v
cXhxLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAg
ICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9xeWYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL3F5aC1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAg
ICAgZWRpdGluZy9zZWxlY3Rpb24vcXlpLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9xemgtc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvc2VsZWN0aW9uL3JheS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vcmR2LXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3NlbGVjdGlvbi9yZXEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0
bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL3JndC1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxl
Y3Rpb24vcmh6LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9yaWEtc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9u
L3JsYy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vcm1iLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9ybmIt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvc2VsZWN0aW9uL3JvZi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vcm95LXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBl
ZGl0aW5nL3NlbGVjdGlvbi9ycGktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL3JxeC1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGlu
Zy9zZWxlY3Rpb24vcnJqLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9yc3otc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2Vs
ZWN0aW9uL3J2ci1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAor
ICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vcnhnLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlv
bi9yenAtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAg
ICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL3NjaS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vc2Ri
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3NlbGVjdGlvbi9zZXAtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL3NmYS1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9zZWxlY3Rpb24vc2ZrLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9zZ3gtc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvc2VsZWN0aW9uL3NoZi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24u
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vc2lpLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Nl
bGVjdGlvbi9zaWotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL3Ntdy1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rp
b24vc25xLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAg
ICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9zcHYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL3Nx
dS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAg
ICAgICAgZWRpdGluZy9zZWxlY3Rpb24vc3F2LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9zcnMtc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAg
IGVkaXRpbmcvc2VsZWN0aW9uL3Nydi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vc3NyLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3NlbGVjdGlvbi9zdGQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL3N1Yy1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9z
ZWxlY3Rpb24vc3VlLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
CisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9zdmItc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0
aW9uL3N3aC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vc3h2LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9z
eXUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL3N5ei1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vc3pvLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3NlbGVjdGlvbi90YnQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL3Rjdy1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRp
dGluZy9zZWxlY3Rpb24vdGZpLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi90aWstc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcv
c2VsZWN0aW9uL3RpdC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vdGl2LXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVj
dGlvbi90aXgtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAg
ICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL3RqZC1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24v
dGp1LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAg
ICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi90a3ktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL3RsaS1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAg
ICAgZWRpdGluZy9zZWxlY3Rpb24vdG9hLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi90cXMtc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvc2VsZWN0aW9uL3Rxdy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vdHN2LXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3NlbGVjdGlvbi90c3otc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0
bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL3R1cS1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxl
Y3Rpb24vdHV3LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi90dmwtc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9u
L3R3eC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vdHhiLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi90eHMt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvc2VsZWN0aW9uL3ViZi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vdWNzLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBl
ZGl0aW5nL3NlbGVjdGlvbi91ZXAtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL3VldS1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGlu
Zy9zZWxlY3Rpb24vdWZ1LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi91aW8tc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2Vs
ZWN0aW9uL3VscC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAor
ICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vdW1rLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlv
bi91cXEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAg
ICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL3Vydy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vdXdm
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3NlbGVjdGlvbi91eHctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL3ZhaS1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9zZWxlY3Rpb24vdmJ0LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi92Y24tc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvc2VsZWN0aW9uL3Zjby1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24u
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vdmZsLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Nl
bGVjdGlvbi92Zm0tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL3ZmeC1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rp
b24vdmdhLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAg
ICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi92Z2Itc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL3Zn
Yy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAg
ICAgICAgZWRpdGluZy9zZWxlY3Rpb24vdmdqLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi92aHItc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAg
IGVkaXRpbmcvc2VsZWN0aW9uL3Zody1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vdmlzLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3NlbGVjdGlvbi92aXUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL3ZpeS1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9z
ZWxlY3Rpb24vdmtiLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
CisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi92bm4tc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0
aW9uL3ZueS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vdm90LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi92
cHYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL3Zwei1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vdnFsLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3NlbGVjdGlvbi92cmYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL3Zydy1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRp
dGluZy9zZWxlY3Rpb24vdnNyLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi92c3otc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcv
c2VsZWN0aW9uL3Z1ai1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vdnZvLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVj
dGlvbi92eGMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAg
ICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL3Z5ay1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24v
dnlwLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAg
ICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi92emgtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL3dhYS1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAg
ICAgZWRpdGluZy9zZWxlY3Rpb24vd2F5LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi93Ymktc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvc2VsZWN0aW9uL3dibC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vd2NnLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3NlbGVjdGlvbi93Y2wtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0
bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL3dkai1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxl
Y3Rpb24vd2dtLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi93aGstc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9u
L3drby1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vd2xvLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi93bHEt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvc2VsZWN0aW9uL3dsdi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vd21kLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBl
ZGl0aW5nL3NlbGVjdGlvbi93bnUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL3dueC1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGlu
Zy9zZWxlY3Rpb24vd29iLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi93cHUtc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2Vs
ZWN0aW9uL3dxay1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAor
ICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vd3FxLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlv
bi93cXgtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAg
ICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL3dydi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vd3R0
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3NlbGVjdGlvbi93dWstc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL3d1eC1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9zZWxlY3Rpb24vd3ZnLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi93d3Qtc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvc2VsZWN0aW9uL3d5bC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24u
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24veGFrLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Nl
bGVjdGlvbi94Ymgtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL3hici1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rp
b24veGNiLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAg
ICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi94ZG8tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL3hl
ay1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAg
ICAgICAgZWRpdGluZy9zZWxlY3Rpb24veGlxLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi94bnYtc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAg
IGVkaXRpbmcvc2VsZWN0aW9uL3hudy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24veHB0LXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3NlbGVjdGlvbi94cmUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL3hybS1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9z
ZWxlY3Rpb24veHNtLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
CisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi94dWMtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0
aW9uL3h1ci1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24veHVzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi94
dnItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL3h4bS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24veWFvLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3NlbGVjdGlvbi95YXotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL3lidS1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRp
dGluZy9zZWxlY3Rpb24veWRtLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi95ZnMtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcv
c2VsZWN0aW9uL3lnai1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24veWdwLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVj
dGlvbi95aGctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAg
ICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL3lpcC1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24v
eWtoLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAg
ICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi95bXotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL3lzai1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAg
ICAgZWRpdGluZy9zZWxlY3Rpb24veXN0LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi95dGMtc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvc2VsZWN0aW9uL3l1bC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24veXZ4LXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3NlbGVjdGlvbi95d2gtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0
bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL3l3cy1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxl
Y3Rpb24veXh0LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi96Ym8tc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9u
L3pjdC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vemdjLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi96Z3Qt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvc2VsZWN0aW9uL3poZC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vemlyLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBl
ZGl0aW5nL3NlbGVjdGlvbi96a3gtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL3puci1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGlu
Zy9zZWxlY3Rpb24venBuLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi96cWQtc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2Vs
ZWN0aW9uL3pxdC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAor
ICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24venJrLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlv
bi96c3Mtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKKyAgICAg
ICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL3p3Yy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vendt
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3NlbGVjdGlvbi96d3gtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL3p6by1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9zZWxlY3Rpb24venpyLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sCisKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFj
dGlvbi5tbToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfc2luZ2xlVGFwSWRlbnRpZmllZDpd
KToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfc2luZ2xlVGFwUmVjb2duaXplZDpdKToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLU3ludGhldGljVGFwR2VzdHVyZVJlY29nbml6ZXIubW06
CisgICAgICAgICgtW1dLU3ludGhldGljVGFwR2VzdHVyZVJlY29nbml6ZXIgc2V0U3RhdGU6XSk6
CisKIDIwMjAtMDctMjMgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAK
ICAgICAgICAgVGFwcGluZyBRdWlja1R5cGUgc3VnZ2VzdGlvbnMgZm9yIGEgbWlzc3BlbGxlZCB3
b3JkIGRvZXMgbm90aGluZyBpbiBNYWlsIGNvbXBvc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0gYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCmluZGV4IGIwNDFj
MjkyOTFlMmEzYzI4Njc2MzY5YjUwMGNmYzFjNzI5NjVkNmUuLjFhNzRmOWM4NTIwMmE5ZTdjYWE4
M2QyMTUzNzI3YzgzMDQ2MjA3ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQpAQCAtMjcyOCw2ICsyNzI4LDcg
QEAgLSAodm9pZClfZW5kUG90ZW50aWFsVGFwQW5kRW5hYmxlRG91YmxlVGFwR2VzdHVyZXNJZk5l
Y2Vzc2FyeQogCiAtICh2b2lkKV9zaW5nbGVUYXBJZGVudGlmaWVkOihVSVRhcEdlc3R1cmVSZWNv
Z25pemVyICopZ2VzdHVyZVJlY29nbml6ZXIKIHsKKyAgICBXVEZMb2dBbHdheXMoIjxXSz46ICVz
IiwgX19QUkVUVFlfRlVOQ1RJT05fXyk7CiAgICAgQVNTRVJUKGdlc3R1cmVSZWNvZ25pemVyID09
IF9zaW5nbGVUYXBHZXN0dXJlUmVjb2duaXplcik7CiAgICAgQVNTRVJUKCFfcG90ZW50aWFsVGFw
SW5Qcm9ncmVzcyk7CiAgICAgW3NlbGYgX3Jlc2V0SXNEb3VibGVUYXBQZW5kaW5nXTsKQEAgLTI4
MDMsNiArMjgwNCw3IEBAIC0gKHZvaWQpX2RpZENvbXBsZXRlU3ludGhldGljQ2xpY2sKIAogLSAo
dm9pZClfc2luZ2xlVGFwUmVjb2duaXplZDooVUlUYXBHZXN0dXJlUmVjb2duaXplciAqKWdlc3R1
cmVSZWNvZ25pemVyCiB7CisgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiAlcyIsIF9fUFJFVFRZX0ZV
TkNUSU9OX18pOwogICAgIEFTU0VSVChnZXN0dXJlUmVjb2duaXplciA9PSBfc2luZ2xlVGFwR2Vz
dHVyZVJlY29nbml6ZXIpOwogCiAgICAgaWYgKCFbc2VsZiBpc0ZpcnN0UmVzcG9uZGVyXSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1N5bnRoZXRpY1RhcEdlc3R1
cmVSZWNvZ25pemVyLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLU3ludGhldGlj
VGFwR2VzdHVyZVJlY29nbml6ZXIubW0KaW5kZXggNjBmYmNhZDBiZjUxNzhhNDA5MWE4NzI4ZTM5
ZWE2OTM1MjM5YWNkOC4uZjEwYzk4NTc0NzI1YjViMmE3N2U1NmNlY2JkMWIwMmQwNzNhMzBkZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLU3ludGhldGljVGFwR2Vz
dHVyZVJlY29nbml6ZXIubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLU3lu
dGhldGljVGFwR2VzdHVyZVJlY29nbml6ZXIubW0KQEAgLTY4LDYgKzY4LDEyIEBAIC0gKHZvaWQp
c2V0U3RhdGU6KFVJR2VzdHVyZVJlY29nbml6ZXJTdGF0ZSlzdGF0ZQogICAgIGVsc2UgaWYgKHN0
YXRlID09IFVJR2VzdHVyZVJlY29nbml6ZXJTdGF0ZUZhaWxlZCkKICAgICAgICAgW19nZXN0dXJl
RmFpbGVkVGFyZ2V0IHBlcmZvcm1TZWxlY3RvcjpfZ2VzdHVyZUZhaWxlZEFjdGlvbiB3aXRoT2Jq
ZWN0OnNlbGZdOwogICAgIFtzdXBlciBzZXRTdGF0ZTpzdGF0ZV07CisgICAgaWYgKHN0YXRlID09
IFVJR2VzdHVyZVJlY29nbml6ZXJTdGF0ZUVuZGVkICYmIHNlbGYuc3RhdGUgPT0gVUlHZXN0dXJl
UmVjb2duaXplclN0YXRlRmFpbGVkKSB7CisgICAgICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogKioq
IFNJTkdMRSBUQVAgRkFJTEVEIFRPIFJFQ09HTklaRSEgJUAgKioqIiwgc2VsZik7CisgICAgICAg
IGZvciAoTlNTdHJpbmcgKnMgaW4gW05TVGhyZWFkIGNhbGxTdGFja1N5bWJvbHNdKQorICAgICAg
ICAgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiAlQCIsIHMpOworICAgICAgICBXVEZMb2dBbHdheXMo
IjxXSz46ICIpOworICAgIH0KIH0KIAogLSAodm9pZClyZXNldApkaWZmIC0tZ2l0IGEvVG9vbHMv
Q2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGQ3NmEyYzIzZDExNDk0N2NkMWIxODk3
MGQzZjg1NDk5NjBjMTg0ODIuLmM3ZTA5NDM3Y2ZiMWFmMjI0YTA3ZjQ0MDg2M2I1ZWRjYTI3YmQx
YTEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNiBAQAorMjAyMC0wNy0yNCAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFw
cGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OIChyMjY0NjkwKTogWyBpT1Mgd2syIF0gZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0
bWwgaXMgYSBmbGFreSBmYWlsdXJlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMTQ2ODgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY1OTkzNjgzPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViS2l0
VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9s
bGVyOjpydW5UZXN0KToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL2lvcy9VSVNjcmlwdENv
bnRyb2xsZXJJT1MubW06CisgICAgICAgIChXVFI6OlVJU2NyaXB0Q29udHJvbGxlcklPUzo6c2lu
Z2xlVGFwQXRQb2ludFdpdGhNb2RpZmllcnMpOgorCiAyMDIwLTA3LTIzICBXZW5zb24gSHNpZWgg
IDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFRhcHBpbmcgUXVpY2tUeXBlIHN1
Z2dlc3Rpb25zIGZvciBhIG1pc3NwZWxsZWQgd29yZCBkb2VzIG5vdGhpbmcgaW4gTWFpbCBjb21w
b3NlCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNw
cCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCmluZGV4IDFiMTdi
YWE4NWU3OWNkZTJiYmE0ZjQ4MGRmMzg3NGE2YWFjNzM1MjMuLjdlZWI4NWQwM2IzNThjZDE1MzYw
MTk4YTA2N2U4YThmYzg5ZmE5MmEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
VGVzdENvbnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRy
b2xsZXIuY3BwCkBAIC0xODIzLDYgKzE4MjMsOCBAQCBib29sIFRlc3RDb250cm9sbGVyOjpydW5U
ZXN0KGNvbnN0IGNoYXIqIGlucHV0TGluZSkKICAgICBXS1JldGFpblB0cjxXS1VSTFJlZj4gd2tV
UkwgPSBhZG9wdFdLKGNyZWF0ZVRlc3RVUkwoY29tbWFuZC5wYXRoT3JVUkwuY19zdHIoKSkpOwog
ICAgIG1fY3VycmVudEludm9jYXRpb24gPSBtYWtlVW5pcXVlPFRlc3RJbnZvY2F0aW9uPih3a1VS
TC5nZXQoKSwgb3B0aW9ucyk7CiAKKyAgICBXVEZMb2dBbHdheXMoIjxXSz46IFJ1bm5pbmcgJXMi
LCBjb21tYW5kLnBhdGhPclVSTC5jX3N0cigpKTsKKwogICAgIGlmIChjb21tYW5kLnNob3VsZER1
bXBQaXhlbHMgfHwgbV9zaG91bGREdW1wUGl4ZWxzRm9yQWxsVGVzdHMpCiAgICAgICAgIG1fY3Vy
cmVudEludm9jYXRpb24tPnNldElzUGl4ZWxUZXN0KGNvbW1hbmQuZXhwZWN0ZWRQaXhlbEhhc2gp
OwogCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9VSVNjcmlwdENvbnRy
b2xsZXJJT1MubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9VSVNjcmlwdENvbnRyb2xs
ZXJJT1MubW0KaW5kZXggN2ZhZWU2NDQ1YTcwYmVhMDFjZTQ0MTIzYjc3MTY4ODMwNjAyZDNiNi4u
MGRmNTRlNjQ5MDNlODdhZGY3ZGQxYzNkMzA3ZGQzMzFmODcyYzZjNCAxMDA2NDQKLS0tIGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlTY3JpcHRDb250cm9sbGVySU9TLm1tCisrKyBiL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1VJU2NyaXB0Q29udHJvbGxlcklPUy5tbQpAQCAtMzAz
LDYgKzMwMyw3IEBAIHZvaWQgVUlTY3JpcHRDb250cm9sbGVySU9TOjpzaW5nbGVUYXBBdFBvaW50
V2l0aE1vZGlmaWVycyhXZWJDb3JlOjpGbG9hdFBvaW50IGxvCiAgICAgZm9yIChhdXRvJiBtb2Rp
ZmllckZsYWcgOiBtb2RpZmllckZsYWdzKQogICAgICAgICBbW0hJREV2ZW50R2VuZXJhdG9yIHNo
YXJlZEhJREV2ZW50R2VuZXJhdG9yXSBrZXlEb3duOm1vZGlmaWVyRmxhZ107CiAKKyAgICBXVEZM
b2dBbHdheXMoIjxXSz46IFNlbmRpbmcgc2luZ2xlIHRhcCBhdCAoJS4wZiwgJS4wZikiLCBfX1BS
RVRUWV9GVU5DVElPTl9fLCBsb2NhdGlvbi54KCksIGxvY2F0aW9uLnkoKSk7CiAgICAgW1tISURF
dmVudEdlbmVyYXRvciBzaGFyZWRISURFdmVudEdlbmVyYXRvcl0gdGFwOmdsb2JhbFRvQ29udGVu
dENvb3JkaW5hdGVzKHdlYlZpZXcoKSwgbG9jYXRpb24ueCgpLCBsb2NhdGlvbi55KCkpIGNvbXBs
ZXRpb25CbG9jazpbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWZQdHIoKnRoaXMpLCBtb2Rp
ZmllckZsYWdzID0gV1RGTW92ZShtb2RpZmllckZsYWdzKSwgYmxvY2sgPSBXVEZNb3ZlKGJsb2Nr
KV0gKCkgbXV0YWJsZSB7CiAgICAgICAgIGlmICghbV9jb250ZXh0KQogICAgICAgICAgICAgcmV0
dXJuOwpAQCAtMzExLDYgKzMxMiw3IEBAIHZvaWQgVUlTY3JpcHRDb250cm9sbGVySU9TOjpzaW5n
bGVUYXBBdFBvaW50V2l0aE1vZGlmaWVycyhXZWJDb3JlOjpGbG9hdFBvaW50IGxvCiAgICAgICAg
ICAgICBbW0hJREV2ZW50R2VuZXJhdG9yIHNoYXJlZEhJREV2ZW50R2VuZXJhdG9yXSBrZXlVcDpt
b2RpZmllckZsYWdzW2ldXTsKICAgICAgICAgfQogICAgICAgICBbW0hJREV2ZW50R2VuZXJhdG9y
IHNoYXJlZEhJREV2ZW50R2VuZXJhdG9yXSBzZW5kTWFya2VySElERXZlbnRXaXRoQ29tcGxldGlv
bkJsb2NrOmJsb2NrLmdldCgpXTsKKyAgICAgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiAuLi5kb25l
IHNlbmRpbmcgc2luZ2xlIHRhcC4iKTsKICAgICB9XTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGUzNzI5OTg2MDY3
MjlkZjAzYWVkYzczN2M3ODIxYjE0Y2ZhNDljMjkuLmJiN2ZlMTM3ODA1YmYwNzZlZmNjOTA3YmNl
ZTc1M2M1OGRlOGMwMTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMDEzIEBACisyMDIwLTA3LTI0ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04g
KHIyNjQ2OTApOiBbIGlPUyB3azIgXSBlZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBpcyBhIGZsYWt5IGZhaWx1cmUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNDY4OAorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNjU5OTM2ODM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9hYXItc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9zZWxlY3Rpb24vYWFyLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9hYXctc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vYWF3LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9h
Z2ctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vYWdnLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Nl
bGVjdGlvbi9haHQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vYWh0LXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3NlbGVjdGlvbi9haW0tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vYWlt
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9haW4tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxl
Y3Rpb24vYWluLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9haXAtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9zZWxlY3Rpb24vYWlwLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9haXUtc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9zZWxlY3Rpb24vYWl1LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9hamst
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vYWprLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVj
dGlvbi9hbGItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vYWxiLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3NlbGVjdGlvbi9hbWQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vYW1kLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9hbnEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rp
b24vYW5xLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9hb2wtc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9zZWxlY3Rpb24vYW9sLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9hcnAtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9zZWxlY3Rpb24vYXJwLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9hdHotc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vYXR6LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlv
bi9hdnAtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vYXZwLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3NlbGVjdGlvbi9hdnMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vYXZzLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3NlbGVjdGlvbi9hdnYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24v
YXZ2LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9hd2Utc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9z
ZWxlY3Rpb24vYXdlLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9heGMtc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9zZWxlY3Rpb24vYXhjLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9heW4tc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vYXluLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9i
Y28tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vYmNvLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Nl
bGVjdGlvbi9iZWUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vYmVlLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3NlbGVjdGlvbi9iZWwtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vYmVs
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9iaWItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxl
Y3Rpb24vYmliLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9iaXQtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9zZWxlY3Rpb24vYml0LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9ianAtc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9zZWxlY3Rpb24vYmpwLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9ianct
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vYmp3LXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVj
dGlvbi9ibWYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vYm1mLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3NlbGVjdGlvbi9icWItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vYnFiLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9icmUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rp
b24vYnJlLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9icm8tc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9zZWxlY3Rpb24vYnJvLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9idWgtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9zZWxlY3Rpb24vYnVoLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9idWktc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vYnVpLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlv
bi9idXctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vYnV3LXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3NlbGVjdGlvbi9idm8tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vYnZvLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3NlbGVjdGlvbi9id28tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24v
YndvLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9id3gtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9z
ZWxlY3Rpb24vYnd4LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9iem0tc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9zZWxlY3Rpb24vYnptLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9jYWEtc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vY2FhLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9j
YnUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vY2J1LXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Nl
bGVjdGlvbi9jZGMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vY2RjLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3NlbGVjdGlvbi9jZWQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vY2Vk
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9jZXAtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxl
Y3Rpb24vY2VwLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9jaGktc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9zZWxlY3Rpb24vY2hpLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9jaWYtc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9zZWxlY3Rpb24vY2lmLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9jaXkt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vY2l5LXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVj
dGlvbi9janItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vY2pyLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3NlbGVjdGlvbi9janotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vY2p6LXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9ja3gtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rp
b24vY2t4LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9jbGctc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9zZWxlY3Rpb24vY2xnLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9jcGMtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9zZWxlY3Rpb24vY3BjLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9jcGotc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vY3BqLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlv
bi9jcG8tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vY3BvLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3NlbGVjdGlvbi9jcnMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vY3JzLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3NlbGVjdGlvbi9jdHQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24v
Y3R0LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9jdmUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9z
ZWxlY3Rpb24vY3ZlLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9jd2Utc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9zZWxlY3Rpb24vY3dlLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9jd2otc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vY3dqLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9j
eGktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vY3hpLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Nl
bGVjdGlvbi9jemstc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vY3prLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3NlbGVjdGlvbi9kYW4tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vZGFu
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9kY28tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxl
Y3Rpb24vZGNvLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9kZGMtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9zZWxlY3Rpb24vZGRjLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9kZGotc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9zZWxlY3Rpb24vZGRqLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9kZmgt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vZGZoLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVj
dGlvbi9kZmstc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vZGZrLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3NlbGVjdGlvbi9kZ2ctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vZGdnLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9kaGgtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rp
b24vZGhoLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9kbG0tc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9zZWxlY3Rpb24vZGxtLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9kbWMtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9zZWxlY3Rpb24vZG1jLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9kb2Mtc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vZG9jLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlv
bi9kcWEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vZHFhLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3NlbGVjdGlvbi9kc24tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vZHNuLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3NlbGVjdGlvbi9kdXItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24v
ZHVyLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9kd2gtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9z
ZWxlY3Rpb24vZHdoLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9keWUtc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9zZWxlY3Rpb24vZHllLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9lYnktc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vZWJ5LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9l
Y2Utc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vZWNlLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Nl
bGVjdGlvbi9lZ2Qtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vZWdkLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3NlbGVjdGlvbi9lZ3Ytc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vZWd2
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9laXMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxl
Y3Rpb24vZWlzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9laXYtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9zZWxlY3Rpb24vZWl2LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9la3Itc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9zZWxlY3Rpb24vZWtyLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9lbHAt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vZWxwLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVj
dGlvbi9lbnMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vZW5zLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3NlbGVjdGlvbi9lb2Qtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vZW9kLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9lcHYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rp
b24vZXB2LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9lc2Utc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9zZWxlY3Rpb24vZXNlLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9ldGUtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9zZWxlY3Rpb24vZXRlLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9ldXUtc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vZXV1LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlv
bi9leGktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vZXhpLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3NlbGVjdGlvbi9leHktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vZXh5LXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3NlbGVjdGlvbi9leWwtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24v
ZXlsLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9mYXktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9z
ZWxlY3Rpb24vZmF5LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9mZG0tc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9zZWxlY3Rpb24vZmRtLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9mZmYtc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vZmZmLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9m
Znotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vZmZ6LXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Nl
bGVjdGlvbi9maWgtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vZmloLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3NlbGVjdGlvbi9maXUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vZml1
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9ma2Utc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxl
Y3Rpb24vZmtlLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9mbHktc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9zZWxlY3Rpb24vZmx5LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9mbHotc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9zZWxlY3Rpb24vZmx6LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9mbXAt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vZm1wLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVj
dGlvbi9mbmMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vZm5jLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3NlbGVjdGlvbi9mc28tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vZnNvLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9mc3Mtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rp
b24vZnNzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9meHotc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9zZWxlY3Rpb24vZnh6LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9meWwtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9zZWxlY3Rpb24vZnlsLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9meXQtc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vZnl0LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlv
bi9memstc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vZnprLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3NlbGVjdGlvbi9nZHEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vZ2RxLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3NlbGVjdGlvbi9nZWktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24v
Z2VpLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9nZXMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9z
ZWxlY3Rpb24vZ2VzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9nZXctc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9zZWxlY3Rpb24vZ2V3LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9nZ20tc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vZ2dtLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9n
aGItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vZ2hiLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Nl
bGVjdGlvbi9naHEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vZ2hxLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3NlbGVjdGlvbi9naWMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vZ2lj
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9nbGwtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxl
Y3Rpb24vZ2xsLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9nbWQtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9zZWxlY3Rpb24vZ21kLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9nbW8tc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9zZWxlY3Rpb24vZ21vLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9nb2gt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vZ29oLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVj
dGlvbi9nb3Etc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vZ29xLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3NlbGVjdGlvbi9ncGwtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vZ3BsLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9ncnMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rp
b24vZ3JzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9nc2otc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9zZWxlY3Rpb24vZ3NqLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9ndHEtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9zZWxlY3Rpb24vZ3RxLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9ndWstc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vZ3VrLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlv
bi9nd2otc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vZ3dqLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3NlbGVjdGlvbi9nd2wtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vZ3dsLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3NlbGVjdGlvbi9neWktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24v
Z3lpLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9oY2stc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9z
ZWxlY3Rpb24vaGNrLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9oY3Mtc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9zZWxlY3Rpb24vaGNzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9oZGwtc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vaGRsLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9o
ZHotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vaGR6LXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Nl
bGVjdGlvbi9oZnAtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vaGZwLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3NlbGVjdGlvbi9oaXQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vaGl0
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9oamMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxl
Y3Rpb24vaGpjLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9oanUtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9zZWxlY3Rpb24vaGp1LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9oa3Mtc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9zZWxlY3Rpb24vaGtzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9obGYt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vaGxmLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVj
dGlvbi9obXktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vaG15LXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3NlbGVjdGlvbi9obnUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vaG51LXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9ob2ctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rp
b24vaG9nLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9ob3otc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9zZWxlY3Rpb24vaG96LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9ocGUtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9zZWxlY3Rpb24vaHBlLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9ocXctc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vaHF3LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlv
bi9ocnEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vaHJxLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3NlbGVjdGlvbi9odHYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vaHR2LXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3NlbGVjdGlvbi9odWItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24v
aHViLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9odWYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9z
ZWxlY3Rpb24vaHVmLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9od2Itc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9zZWxlY3Rpb24vaHdiLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9oeG4tc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vaHhuLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9p
YmMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vaWJjLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Nl
bGVjdGlvbi9pYnItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vaWJyLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3NlbGVjdGlvbi9pZHItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vaWRy
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9pZWYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxl
Y3Rpb24vaWVmLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9paGstc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9zZWxlY3Rpb24vaWhrLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9panUtc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9zZWxlY3Rpb24vaWp1LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9pbnEt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vaW5xLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVj
dGlvbi9pcWMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vaXFjLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3NlbGVjdGlvbi9pcnotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vaXJ6LXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9pc20tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rp
b24vaXNtLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9pc3Itc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9zZWxlY3Rpb24vaXNyLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9pdGgtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9zZWxlY3Rpb24vaXRoLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9peGotc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vaXhqLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlv
bi9peWgtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vaXloLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3NlbGVjdGlvbi9peWktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vaXlpLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3NlbGVjdGlvbi9qZGMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24v
amRjLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9qZWwtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9z
ZWxlY3Rpb24vamVsLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9qZnAtc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9zZWxlY3Rpb24vamZwLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9qaHAtc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vamhwLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9q
aWotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vamlqLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Nl
bGVjdGlvbi9qaXEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vamlxLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3NlbGVjdGlvbi9qamotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vampq
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9qbGUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxl
Y3Rpb24vamxlLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9qbHotc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9zZWxlY3Rpb24vamx6LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9qb28tc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9zZWxlY3Rpb24vam9vLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9qcHUt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vanB1LXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVj
dGlvbi9qcWgtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vanFoLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3NlbGVjdGlvbi9qcWotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vanFqLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9qcXEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rp
b24vanFxLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9qdGwtc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9zZWxlY3Rpb24vanRsLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9qdWctc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9zZWxlY3Rpb24vanVnLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9qdXctc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vanV3LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlv
bi9qdnUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vanZ1LXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3NlbGVjdGlvbi9qd3Atc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vandwLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3NlbGVjdGlvbi9qeGctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24v
anhnLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9rYmUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9z
ZWxlY3Rpb24va2JlLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9rZnEtc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9zZWxlY3Rpb24va2ZxLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9rbnAtc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24va25wLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9r
cHUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24va3B1LXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Nl
bGVjdGlvbi9rcWwtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24va3FsLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3NlbGVjdGlvbi9rcW8tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24va3Fv
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9rcXctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxl
Y3Rpb24va3F3LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9rc3otc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9zZWxlY3Rpb24va3N6LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9rdGctc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9zZWxlY3Rpb24va3RnLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9rdWEt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24va3VhLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVj
dGlvbi9rdWgtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24va3VoLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3NlbGVjdGlvbi9reWktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24va3lpLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9sYWQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rp
b24vbGFkLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9sYWYtc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9zZWxlY3Rpb24vbGFmLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9sYWgtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9zZWxlY3Rpb24vbGFoLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9sYnUtc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vbGJ1LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlv
bi9sY2Etc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vbGNhLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3NlbGVjdGlvbi9sZGItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vbGRiLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3NlbGVjdGlvbi9sZHktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24v
bGR5LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9saGQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9z
ZWxlY3Rpb24vbGhkLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9saG0tc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9zZWxlY3Rpb24vbGhtLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9saWctc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vbGlnLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9s
amUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vbGplLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Nl
bGVjdGlvbi9sbHEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vbGxxLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3NlbGVjdGlvbi9sbmktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vbG5p
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9scW8tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxl
Y3Rpb24vbHFvLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9scXAtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9zZWxlY3Rpb24vbHFwLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9scXYtc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9zZWxlY3Rpb24vbHF2LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9scmIt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vbHJiLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVj
dGlvbi9sc2gtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vbHNoLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3NlbGVjdGlvbi9sdGQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vbHRkLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9sdXEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rp
b24vbHVxLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9sdXQtc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9zZWxlY3Rpb24vbHV0LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9sdmQtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9zZWxlY3Rpb24vbHZkLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9seGEtc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vbHhhLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlv
bi9seW0tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vbHltLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3NlbGVjdGlvbi9tYXEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vbWFxLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3NlbGVjdGlvbi9tY2ktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24v
bWNpLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9tY2stc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9z
ZWxlY3Rpb24vbWNrLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9taG8tc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9zZWxlY3Rpb24vbWhvLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9taWYtc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vbWlmLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9t
a2Qtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vbWtkLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Nl
bGVjdGlvbi9tcGYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vbXBmLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3NlbGVjdGlvbi9tcG8tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vbXBv
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9tc2otc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxl
Y3Rpb24vbXNqLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9td3ctc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9zZWxlY3Rpb24vbXd3LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9teGctc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9zZWxlY3Rpb24vbXhnLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9teXot
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vbXl6LXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVj
dGlvbi9uYXMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vbmFzLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3NlbGVjdGlvbi9uYnItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vbmJyLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9uZGQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rp
b24vbmRkLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9uZHQtc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9zZWxlY3Rpb24vbmR0LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9uZWktc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9zZWxlY3Rpb24vbmVpLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9uZXQtc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vbmV0LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlv
bi9uaHUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vbmh1LXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3NlbGVjdGlvbi9uanAtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vbmpwLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3NlbGVjdGlvbi9ubGMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24v
bmxjLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9ubHMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9z
ZWxlY3Rpb24vbmxzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9ubmotc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9zZWxlY3Rpb24vbm5qLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9ubnEtc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vbm5xLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9u
dHMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vbnRzLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Nl
bGVjdGlvbi9ud2gtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vbndoLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3NlbGVjdGlvbi9ueHItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vbnhy
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9ueWUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxl
Y3Rpb24vbnllLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9uenEtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9zZWxlY3Rpb24vbnpxLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9vYm4tc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9zZWxlY3Rpb24vb2JuLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9vY3ot
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vb2N6LXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVj
dGlvbi9vZGYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vb2RmLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3NlbGVjdGlvbi9vZWQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vb2VkLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9vangtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rp
b24vb2p4LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9va2Qtc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9zZWxlY3Rpb24vb2tkLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9vcGQtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9zZWxlY3Rpb24vb3BkLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9vcHctc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vb3B3LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlv
bi9vcWstc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vb3FrLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3NlbGVjdGlvbi9vcm0tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vb3JtLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3NlbGVjdGlvbi9vcnctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24v
b3J3LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9vdGwtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9z
ZWxlY3Rpb24vb3RsLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9vdnQtc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9zZWxlY3Rpb24vb3Z0LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9vd2Utc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vb3dlLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9v
d3Mtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vb3dzLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Nl
bGVjdGlvbi9veXMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vb3lzLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3NlbGVjdGlvbi9venctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vb3p3
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9wYXgtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxl
Y3Rpb24vcGF4LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9wYm4tc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9zZWxlY3Rpb24vcGJuLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9wY2Etc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9zZWxlY3Rpb24vcGNhLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9wZXEt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vcGVxLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVj
dGlvbi9wZmotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vcGZqLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3NlbGVjdGlvbi9wZ3Ytc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vcGd2LXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9wamwtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rp
b24vcGpsLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9wcGQtc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9zZWxlY3Rpb24vcHBkLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9wcXEtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9zZWxlY3Rpb24vcHFxLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9wcm0tc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vcHJtLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlv
bi9wdWktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vcHVpLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3NlbGVjdGlvbi9wd2ctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vcHdnLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3NlbGVjdGlvbi9weGEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24v
cHhhLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9weGYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9z
ZWxlY3Rpb24vcHhmLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9wenYtc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9zZWxlY3Rpb24vcHp2LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9xZWEtc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vcWVhLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9x
ZXgtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vcWV4LXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Nl
bGVjdGlvbi9xZnAtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vcWZwLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3NlbGVjdGlvbi9xZnYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vcWZ2
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9xaGotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxl
Y3Rpb24vcWhqLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9xaHYtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9zZWxlY3Rpb24vcWh2LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9xamktc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9zZWxlY3Rpb24vcWppLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9xa28t
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vcWtvLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVj
dGlvbi9xa3ctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vcWt3LXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3NlbGVjdGlvbi9xbmQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vcW5kLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9xcnYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rp
b24vcXJ2LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9xc2stc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9zZWxlY3Rpb24vcXNrLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9xdGstc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9zZWxlY3Rpb24vcXRrLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9xdXktc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vcXV5LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlv
bi9xd2ktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vcXdpLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3NlbGVjdGlvbi9xeHEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vcXhxLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3NlbGVjdGlvbi9xeWYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24v
cXlmLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9xeWgtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9z
ZWxlY3Rpb24vcXloLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9xeWktc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9zZWxlY3Rpb24vcXlpLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9xemgtc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vcXpoLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9y
YXktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vcmF5LXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Nl
bGVjdGlvbi9yZHYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vcmR2LXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3NlbGVjdGlvbi9yZXEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vcmVx
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9yZ3Qtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxl
Y3Rpb24vcmd0LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9yaHotc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9zZWxlY3Rpb24vcmh6LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9yaWEtc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9zZWxlY3Rpb24vcmlhLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9ybGMt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vcmxjLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVj
dGlvbi9ybWItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vcm1iLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3NlbGVjdGlvbi9ybmItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vcm5iLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9yb2Ytc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rp
b24vcm9mLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9yb3ktc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9zZWxlY3Rpb24vcm95LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9ycGktc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9zZWxlY3Rpb24vcnBpLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9ycXgtc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vcnF4LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlv
bi9ycmotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vcnJqLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3NlbGVjdGlvbi9yc3otc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vcnN6LXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3NlbGVjdGlvbi9ydnItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24v
cnZyLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9yeGctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9z
ZWxlY3Rpb24vcnhnLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9yenAtc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9zZWxlY3Rpb24vcnpwLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9zY2ktc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vc2NpLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9z
ZGItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vc2RiLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Nl
bGVjdGlvbi9zZXAtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vc2VwLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3NlbGVjdGlvbi9zZmEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vc2Zh
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9zZmstc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxl
Y3Rpb24vc2ZrLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9zZ3gtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9zZWxlY3Rpb24vc2d4LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9zaGYtc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9zZWxlY3Rpb24vc2hmLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9zaWkt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vc2lpLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVj
dGlvbi9zaWotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vc2lqLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3NlbGVjdGlvbi9zbXctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vc213LXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9zbnEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rp
b24vc25xLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9zcHYtc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9zZWxlY3Rpb24vc3B2LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9zcXUtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9zZWxlY3Rpb24vc3F1LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9zcXYtc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vc3F2LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlv
bi9zcnMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vc3JzLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3NlbGVjdGlvbi9zcnYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vc3J2LXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3NlbGVjdGlvbi9zc3Itc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24v
c3NyLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9zdGQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9z
ZWxlY3Rpb24vc3RkLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9zdWMtc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9zZWxlY3Rpb24vc3VjLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9zdWUtc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vc3VlLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9z
dmItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vc3ZiLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Nl
bGVjdGlvbi9zd2gtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vc3doLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3NlbGVjdGlvbi9zeHYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vc3h2
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9zeXUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxl
Y3Rpb24vc3l1LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9zeXotc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9zZWxlY3Rpb24vc3l6LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9zem8tc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9zZWxlY3Rpb24vc3pvLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi90YnQt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vdGJ0LXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVj
dGlvbi90Y3ctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vdGN3LXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3NlbGVjdGlvbi90Zmktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vdGZpLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3NlbGVjdGlvbi90aWstc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rp
b24vdGlrLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi90aXQtc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9zZWxlY3Rpb24vdGl0LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi90aXYtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9zZWxlY3Rpb24vdGl2LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi90aXgtc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vdGl4LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlv
bi90amQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vdGpkLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3NlbGVjdGlvbi90anUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vdGp1LXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3NlbGVjdGlvbi90a3ktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24v
dGt5LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi90bGktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9z
ZWxlY3Rpb24vdGxpLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi90b2Etc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9zZWxlY3Rpb24vdG9hLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi90cXMtc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vdHFzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi90
cXctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vdHF3LXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Nl
bGVjdGlvbi90c3Ytc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vdHN2LXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3NlbGVjdGlvbi90c3otc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vdHN6
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi90dXEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxl
Y3Rpb24vdHVxLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi90dXctc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9zZWxlY3Rpb24vdHV3LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi90dmwtc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9zZWxlY3Rpb24vdHZsLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi90d3gt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vdHd4LXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVj
dGlvbi90eGItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vdHhiLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3NlbGVjdGlvbi90eHMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vdHhzLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3NlbGVjdGlvbi91YmYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rp
b24vdWJmLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi91Y3Mtc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9zZWxlY3Rpb24vdWNzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi91ZXAtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9zZWxlY3Rpb24vdWVwLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi91ZXUtc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vdWV1LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlv
bi91ZnUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vdWZ1LXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3NlbGVjdGlvbi91aW8tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vdWlvLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3NlbGVjdGlvbi91bHAtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24v
dWxwLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi91bWstc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9z
ZWxlY3Rpb24vdW1rLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi91cXEtc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9zZWxlY3Rpb24vdXFxLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi91cnctc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vdXJ3LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi91
d2Ytc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vdXdmLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Nl
bGVjdGlvbi91eHctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vdXh3LXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3NlbGVjdGlvbi92YWktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vdmFp
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi92YnQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxl
Y3Rpb24vdmJ0LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi92Y24tc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9zZWxlY3Rpb24vdmNuLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi92Y28tc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9zZWxlY3Rpb24vdmNvLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi92Zmwt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vdmZsLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVj
dGlvbi92Zm0tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vdmZtLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3NlbGVjdGlvbi92Zngtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vdmZ4LXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3NlbGVjdGlvbi92Z2Etc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rp
b24vdmdhLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi92Z2Itc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9zZWxlY3Rpb24vdmdiLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi92Z2Mtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9zZWxlY3Rpb24vdmdjLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi92Z2otc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vdmdqLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlv
bi92aHItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vdmhyLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3NlbGVjdGlvbi92aHctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vdmh3LXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3NlbGVjdGlvbi92aXMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24v
dmlzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi92aXUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9z
ZWxlY3Rpb24vdml1LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi92aXktc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9zZWxlY3Rpb24vdml5LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi92a2Itc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vdmtiLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi92
bm4tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vdm5uLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Nl
bGVjdGlvbi92bnktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vdm55LXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3NlbGVjdGlvbi92b3Qtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vdm90
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi92cHYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxl
Y3Rpb24vdnB2LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi92cHotc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9zZWxlY3Rpb24vdnB6LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi92cWwtc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9zZWxlY3Rpb24vdnFsLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi92cmYt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vdnJmLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVj
dGlvbi92cnctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vdnJ3LXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3NlbGVjdGlvbi92c3Itc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vdnNyLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3NlbGVjdGlvbi92c3otc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rp
b24vdnN6LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi92dWotc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9zZWxlY3Rpb24vdnVqLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi92dm8tc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9zZWxlY3Rpb24vdnZvLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi92eGMtc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vdnhjLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlv
bi92eWstc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vdnlrLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3NlbGVjdGlvbi92eXAtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vdnlwLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3NlbGVjdGlvbi92emgtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24v
dnpoLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi93YWEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9z
ZWxlY3Rpb24vd2FhLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi93YXktc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9zZWxlY3Rpb24vd2F5LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi93Ymktc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vd2JpLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi93
Ymwtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vd2JsLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Nl
bGVjdGlvbi93Y2ctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vd2NnLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3NlbGVjdGlvbi93Y2wtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vd2Ns
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi93ZGotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxl
Y3Rpb24vd2RqLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi93Z20tc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9zZWxlY3Rpb24vd2dtLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi93aGstc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9zZWxlY3Rpb24vd2hrLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi93a28t
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vd2tvLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVj
dGlvbi93bG8tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vd2xvLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3NlbGVjdGlvbi93bHEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vd2xxLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3NlbGVjdGlvbi93bHYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rp
b24vd2x2LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi93bWQtc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9zZWxlY3Rpb24vd21kLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi93bnUtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9zZWxlY3Rpb24vd251LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi93bngtc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vd254LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlv
bi93b2Itc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vd29iLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3NlbGVjdGlvbi93cHUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vd3B1LXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3NlbGVjdGlvbi93cWstc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24v
d3FrLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi93cXEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9z
ZWxlY3Rpb24vd3FxLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi93cXgtc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9zZWxlY3Rpb24vd3F4LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi93cnYtc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vd3J2LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi93
dHQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vd3R0LXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Nl
bGVjdGlvbi93dWstc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vd3VrLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3NlbGVjdGlvbi93dXgtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vd3V4
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi93dmctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxl
Y3Rpb24vd3ZnLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi93d3Qtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9zZWxlY3Rpb24vd3d0LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi93eWwtc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9zZWxlY3Rpb24vd3lsLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi94YWst
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24veGFrLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVj
dGlvbi94Ymgtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24veGJoLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3NlbGVjdGlvbi94YnItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24veGJyLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3NlbGVjdGlvbi94Y2Itc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rp
b24veGNiLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi94ZG8tc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9zZWxlY3Rpb24veGRvLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi94ZWstc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9zZWxlY3Rpb24veGVrLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi94aXEtc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24veGlxLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlv
bi94bnYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24veG52LXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3NlbGVjdGlvbi94bnctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24veG53LXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3NlbGVjdGlvbi94cHQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24v
eHB0LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi94cmUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9z
ZWxlY3Rpb24veHJlLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi94cm0tc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9zZWxlY3Rpb24veHJtLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi94c20tc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24veHNtLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi94
dWMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24veHVjLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Nl
bGVjdGlvbi94dXItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24veHVyLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3NlbGVjdGlvbi94dXMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24veHVz
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi94dnItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxl
Y3Rpb24veHZyLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi94eG0tc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9zZWxlY3Rpb24veHhtLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi95YW8tc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9zZWxlY3Rpb24veWFvLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi95YXot
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24veWF6LXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVj
dGlvbi95YnUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24veWJ1LXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3NlbGVjdGlvbi95ZG0tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24veWRtLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3NlbGVjdGlvbi95ZnMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rp
b24veWZzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi95Z2otc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9zZWxlY3Rpb24veWdqLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi95Z3Atc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9zZWxlY3Rpb24veWdwLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi95aGctc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24veWhnLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlv
bi95aXAtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24veWlwLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3NlbGVjdGlvbi95a2gtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24veWtoLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3NlbGVjdGlvbi95bXotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24v
eW16LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi95c2otc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9z
ZWxlY3Rpb24veXNqLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi95c3Qtc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9zZWxlY3Rpb24veXN0LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi95dGMtc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24veXRjLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi95
dWwtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24veXVsLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Nl
bGVjdGlvbi95dngtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24veXZ4LXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3NlbGVjdGlvbi95d2gtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24veXdo
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi95d3Mtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxl
Y3Rpb24veXdzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi95eHQtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9zZWxlY3Rpb24veXh0LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi96Ym8tc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9zZWxlY3Rpb24vemJvLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi96Y3Qt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vemN0LXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVj
dGlvbi96Z2Mtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vemdjLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3NlbGVjdGlvbi96Z3Qtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vemd0LXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3NlbGVjdGlvbi96aGQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rp
b24vemhkLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi96aXItc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9zZWxlY3Rpb24vemlyLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi96a3gtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9zZWxlY3Rpb24vemt4LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi96bnItc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vem5yLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlv
bi96cG4tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24venBuLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3NlbGVjdGlvbi96cWQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24venFkLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3NlbGVjdGlvbi96cXQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24v
enF0LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi96cmstc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9z
ZWxlY3Rpb24venJrLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi96c3Mtc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9zZWxlY3Rpb24venNzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi96d2Mtc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vendjLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi96
d20tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vendtLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Nl
bGVjdGlvbi96d3gtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vend4LXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3NlbGVjdGlvbi96em8tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24venpv
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi96enItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxl
Y3Rpb24venpyLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yLXdrMi9UZXN0RXhwZWN0YXRp
b25zOgorCiAyMDIwLTA3LTIzICBKYW1lcyBEYXJwaW5pYW4gIDxqZGFycGluaWFuQGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBbV2ViR0wyXSBRdWVyeSBPYmplY3RzCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9hYXItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L2Fhci1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9hYXItc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9hYXItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9hYXItc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNl
ZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Fhci1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL2Fhdy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYWF3LXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Fhdy1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL2Fhdy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Fhdy1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVk
YTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYWF3LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
KyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vYWdnLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9hZ2ctc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYWdnLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vYWdnLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYWdnLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQy
Y2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9hZ2ctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1h
cmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9haHQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2FodC1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9haHQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9haHQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9haHQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYz
OTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL2FodC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRt
bApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJv
dHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Fp
bS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYWltLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL2FpbS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Fp
bS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL2FpbS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3Mzhl
MjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vYWltLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0w
LDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAx
NTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYWluLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9haW4tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vYWluLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYWluLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vYWluLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQz
MmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9haW4t
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0
NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9haXAtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL2FpcC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9haXAtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9haXAtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9haXAtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2FpcC1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2FpdS1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vYWl1LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Fp
dS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2FpdS1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L2FpdS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYWl1LXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYWprLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9hamstc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYWprLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYWprLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYWprLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMz
ZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9hamstc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9hbGItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2FsYi1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9hbGItc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9hbGItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9hbGItc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1
ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2FsYi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL2FtZC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYW1kLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2FtZC1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL2FtZC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24u
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2FtZC1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlk
MmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vYW1kLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBt
YXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vYW5xLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9hbnEtc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYW5xLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vYW5xLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYW5xLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2
MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9hbnEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0
bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1i
b3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9h
b2wtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2FvbC1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9hb2wtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9h
b2wtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9hb2wtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4
ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL2FvbC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAt
MCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTog
MTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2FycC1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYXJwLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL2FycC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2FycC1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL2FycC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0
MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYXJw
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEs
NDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYXR6LXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9hdHotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vYXR6LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYXR6LXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vYXR6LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9hdHotc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9hdnAtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL2F2cC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9h
dnAtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9hdnAtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9hdnAtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2F2cC1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2F2cy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vYXZzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2F2cy1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2F2cy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2F2cy1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5j
M2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYXZzLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vYXZ2LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9hdnYt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYXZ2LXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vYXZ2LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYXZ2LXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZi
NWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9hdnYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9hd2Utc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2F3ZS1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9hd2Utc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9hd2Utc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9hd2Utc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5
ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL2F3ZS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAg
bWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL2F4Yy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYXhjLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2F4Yy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL2F4Yy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2F4Yy1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMx
NjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vYXhjLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4t
Ym90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
YXluLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9heW4tc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vYXluLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
YXluLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYXluLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDcz
OGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9heW4tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAg
LTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206
IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9iY28tc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Jjby1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9iY28tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9iY28tc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9iY28tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5
NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Jj
by1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsx
LDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2JlZS1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vYmVlLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL2JlZS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2JlZS1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL2JlZS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYmVlLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYmVsLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9iZWwtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
YmVsLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYmVsLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vYmVsLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9iZWwtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9iaWItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL2JpYi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9iaWItc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9iaWItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9iaWIt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2JpYi1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL2JpdC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYml0
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2JpdC1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL2JpdC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2JpdC1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJm
YjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYml0LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vYmpwLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9ianAtc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYmpwLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vYmpwLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYmpwLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3
OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9ianAtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAg
IG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9ianctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Jqdy1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9ianctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9ianctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9ianctc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJj
MTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL2Jqdy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24u
aHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2lu
LWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L2JtZi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYm1mLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL2JtZi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L2JtZi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2JtZi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3
MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vYm1mLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBA
IC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9t
OiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYnFiLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9icWItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vYnFiLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYnFiLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vYnFiLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBk
OTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9i
cWItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCAr
MSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9icmUtc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL2JyZS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9icmUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9icmUtc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9icmUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2JyZS1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Jyby1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vYnJvLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L2Jyby1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Jyby1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL2Jyby1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYnJvLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYnVoLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9idWgtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYnVoLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYnVoLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYnVo
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9idWgtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9idWktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2J1
aS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9idWktc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9idWktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9idWktc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjVi
ZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2J1aS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL2J1dy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYnV3LXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2J1dy1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL2J1dy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2J1dy1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYx
NzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vYnV3LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAg
ICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vYnZvLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9idm8tc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYnZvLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vYnZvLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYnZvLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2Ey
YzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9idm8tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
Lmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdp
bi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9id28tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2J3by1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9id28tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9id28tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9id28tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBk
NzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL2J3by1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApA
QCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRv
bTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2J3eC1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYnd4LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL2J3eC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2J3eC1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL2J3eC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAw
ZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
Ynd4LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAg
KzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYnptLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9iem0tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vYnptLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYnptLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vYnptLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9iem0tc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9jYWEtc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL2NhYS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9jYWEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9jYWEtc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9jYWEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2NhYS1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2NidS1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vY2J1LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2NidS1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2NidS1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Ni
dS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vY2J1LXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vY2RjLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9j
ZGMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vY2RjLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vY2RjLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vY2RjLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1
YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9jZGMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9jZWQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2NlZC1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9jZWQtc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9jZWQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9jZWQtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2
MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL2NlZC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cisg
ICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL2NlcC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vY2VwLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2NlcC1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL2NlcC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2NlcC1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNh
MmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vY2VwLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJn
aW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vY2hpLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9jaGktc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vY2hpLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vY2hpLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vY2hpLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2Mzkw
ZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9jaGktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwK
QEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0
b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9jaWYt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2NpZi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9jaWYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9jaWYt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9jaWYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIw
MGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L2NpZi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCww
ICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2NpeS1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vY2l5LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL2NpeS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2NpeS1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL2NpeS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24u
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJl
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vY2l5LXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vY2pyLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9janItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vY2pyLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vY2pyLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vY2pyLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9janItc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9janotc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL2Nqei1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9janot
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9janotc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9j
anotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Nqei1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2NreC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
Y2t4LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2NreC1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2NreC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2NreC1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2Vm
NWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vY2t4LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vY2xnLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9jbGctc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vY2xnLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vY2xnLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vY2xnLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRh
NjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9jbGctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
ICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9jcGMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2NwYy1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9jcGMtc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9jcGMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9jcGMtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJj
YTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL2NwYy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFy
Z2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL2Nwai1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vY3BqLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Nwai1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL2Nwai1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Nwai1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5
MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vY3BqLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
CkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90
dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vY3Bv
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9jcG8tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vY3BvLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vY3Bv
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vY3BvLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUy
MDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9jcG8tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAs
MCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9jcnMtc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Nycy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9jcnMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9jcnMtc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9jcnMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMy
ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Nycy1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2N0dC1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vY3R0LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL2N0dC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2N0dC1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL2N0dC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vY3R0LXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vY3ZlLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9jdmUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vY3Zl
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vY3ZlLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
Y3ZlLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9jdmUtc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9jd2Utc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L2N3ZS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9jd2Utc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9jd2Utc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9jd2Utc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNl
ZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2N3ZS1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL2N3ai1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vY3dqLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2N3ai1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL2N3ai1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2N3ai1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVk
YTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vY3dqLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
KyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vY3hpLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9jeGktc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vY3hpLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vY3hpLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vY3hpLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQy
Y2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9jeGktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1h
cmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9jemstc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2N6ay1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9jemstc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9jemstc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9jemstc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYz
OTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL2N6ay1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRt
bApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJv
dHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Rh
bi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZGFuLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL2Rhbi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Rh
bi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Rhbi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3Mzhl
MjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vZGFuLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0w
LDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAx
NTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZGNvLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9kY28tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vZGNvLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZGNvLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vZGNvLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQz
MmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9kY28t
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0
NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9kZGMtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL2RkYy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9kZGMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9kZGMtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9kZGMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2RkYy1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Rkai1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vZGRqLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Rk
ai1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Rkai1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L2Rkai1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZGRqLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZGZoLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9kZmgtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZGZoLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZGZoLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZGZoLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMz
ZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9kZmgtc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9kZmstc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Rmay1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9kZmstc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9kZmstc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9kZmstc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1
ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Rmay1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL2RnZy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZGdnLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2RnZy1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL2RnZy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24u
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2RnZy1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlk
MmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vZGdnLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBt
YXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vZGhoLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9kaGgtc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZGhoLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vZGhoLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZGhoLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2
MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9kaGgtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0
bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1i
b3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9k
bG0tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2RsbS1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9kbG0tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9k
bG0tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9kbG0tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4
ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL2RsbS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAt
MCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTog
MTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2RtYy1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZG1jLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL2RtYy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2RtYy1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL2RtYy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0
MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZG1j
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEs
NDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZG9jLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9kb2Mtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vZG9jLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZG9jLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vZG9jLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9kb2Mtc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9kcWEtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL2RxYS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9k
cWEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9kcWEtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9kcWEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2RxYS1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Rzbi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vZHNuLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Rzbi1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Rzbi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Rzbi1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5j
M2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZHNuLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vZHVyLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9kdXIt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZHVyLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vZHVyLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZHVyLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZi
NWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9kdXItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9kd2gtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2R3aC1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9kd2gtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9kd2gtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9kd2gtc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5
ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL2R3aC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAg
bWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL2R5ZS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZHllLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2R5ZS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL2R5ZS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2R5ZS1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMx
NjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vZHllLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4t
Ym90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
ZWJ5LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9lYnktc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vZWJ5LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
ZWJ5LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZWJ5LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDcz
OGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9lYnktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAg
LTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206
IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9lY2Utc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2VjZS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9lY2Utc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9lY2Utc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9lY2Utc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5
NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Vj
ZS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsx
LDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2VnZC1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vZWdkLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL2VnZC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2VnZC1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL2VnZC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZWdkLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZWd2LXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9lZ3Ytc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
ZWd2LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZWd2LXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vZWd2LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9lZ3Ytc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9laXMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL2Vpcy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9laXMtc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9laXMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9laXMt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Vpcy1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Vpdi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZWl2
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Vpdi1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Vpdi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Vpdi1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJm
YjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZWl2LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vZWtyLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9la3Itc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZWtyLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vZWtyLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZWtyLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3
OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9la3Itc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAg
IG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9lbHAtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2VscC1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9lbHAtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9lbHAtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9lbHAtc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJj
MTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL2VscC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24u
aHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2lu
LWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L2Vucy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZW5zLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Vucy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L2Vucy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Vucy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3
MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vZW5zLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBA
IC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9t
OiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZW9kLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9lb2Qtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vZW9kLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZW9kLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vZW9kLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBk
OTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9l
b2Qtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCAr
MSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9lcHYtc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL2Vwdi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9lcHYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9lcHYtc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9lcHYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Vwdi1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2VzZS1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vZXNlLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L2VzZS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2VzZS1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL2VzZS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZXNlLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZXRlLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9ldGUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZXRlLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZXRlLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZXRl
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9ldGUtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9ldXUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2V1
dS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9ldXUtc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9ldXUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9ldXUtc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjVi
ZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2V1dS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL2V4aS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZXhpLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2V4aS1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL2V4aS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2V4aS1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYx
NzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vZXhpLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAg
ICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vZXh5LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9leHktc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZXh5LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vZXh5LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZXh5LXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2Ey
YzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9leHktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
Lmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdp
bi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9leWwtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2V5bC1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9leWwtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9leWwtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9leWwtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBk
NzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL2V5bC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApA
QCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRv
bTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2ZheS1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZmF5LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL2ZheS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2ZheS1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL2ZheS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAw
ZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
ZmF5LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAg
KzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZmRtLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9mZG0tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vZmRtLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZmRtLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vZmRtLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9mZG0tc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9mZmYtc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL2ZmZi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9mZmYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9mZmYtc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9mZmYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2ZmZi1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Zmei1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vZmZ6LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Zmei1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Zmei1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Zm
ei1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZmZ6LXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZmloLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9m
aWgtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZmloLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZmloLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZmloLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1
YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9maWgtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9maXUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2ZpdS1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9maXUtc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9maXUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9maXUtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2
MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL2ZpdS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cisg
ICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL2ZrZS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZmtlLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2ZrZS1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL2ZrZS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2ZrZS1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNh
MmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vZmtlLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJn
aW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vZmx5LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9mbHktc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZmx5LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vZmx5LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZmx5LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2Mzkw
ZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9mbHktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwK
QEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0
b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9mbHot
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Zsei1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9mbHotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9mbHot
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9mbHotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIw
MGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L2Zsei1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCww
ICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2ZtcC1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vZm1wLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL2ZtcC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2ZtcC1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL2ZtcC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24u
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJl
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZm1wLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZm5jLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9mbmMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vZm5jLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZm5jLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vZm5jLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9mbmMtc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9mc28tc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL2Zzby1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9mc28t
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9mc28tc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9m
c28tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Zzby1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Zzcy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
ZnNzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Zzcy1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Zzcy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Zzcy1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2Vm
NWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZnNzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vZnh6LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9meHotc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZnh6LXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vZnh6LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZnh6LXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRh
NjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9meHotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
ICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9meWwtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Z5bC1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9meWwtc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9meWwtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9meWwtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJj
YTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL2Z5bC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFy
Z2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL2Z5dC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZnl0LXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Z5dC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL2Z5dC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Z5dC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5
MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vZnl0LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
CkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90
dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZnpr
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9memstc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vZnprLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZnpr
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vZnprLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUy
MDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9memstc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAs
MCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9nZHEtc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL2dkcS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9nZHEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9nZHEtc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9nZHEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMy
ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2dkcS1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2dlaS1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vZ2VpLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL2dlaS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2dlaS1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL2dlaS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZ2VpLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZ2VzLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9nZXMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZ2Vz
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZ2VzLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
Z2VzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9nZXMtc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9nZXctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L2dldy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9nZXctc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9nZXctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9nZXctc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNl
ZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2dldy1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL2dnbS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZ2dtLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2dnbS1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL2dnbS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2dnbS1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVk
YTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZ2dtLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
KyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vZ2hiLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9naGItc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZ2hiLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vZ2hiLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZ2hiLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQy
Y2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9naGItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1h
cmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9naHEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2docS1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9naHEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9naHEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9naHEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYz
OTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL2docS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRt
bApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJv
dHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2dp
Yy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZ2ljLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL2dpYy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2dp
Yy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL2dpYy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3Mzhl
MjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vZ2ljLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0w
LDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAx
NTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZ2xsLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9nbGwtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vZ2xsLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZ2xsLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vZ2xsLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQz
MmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9nbGwt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0
NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9nbWQtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL2dtZC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9nbWQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9nbWQtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9nbWQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2dtZC1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2dtby1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vZ21vLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2dt
by1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2dtby1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L2dtby1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZ21vLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZ29oLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9nb2gtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZ29oLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZ29oLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZ29oLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMz
ZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9nb2gtc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9nb3Etc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2dvcS1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9nb3Etc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9nb3Etc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9nb3Etc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1
ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2dvcS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL2dwbC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZ3BsLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2dwbC1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL2dwbC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24u
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2dwbC1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlk
MmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vZ3BsLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBt
YXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vZ3JzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9ncnMtc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZ3JzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vZ3JzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZ3JzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2
MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9ncnMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0
bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1i
b3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9n
c2otc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2dzai1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9nc2otc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9n
c2otc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9nc2otc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4
ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL2dzai1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAt
MCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTog
MTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2d0cS1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZ3RxLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL2d0cS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2d0cS1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL2d0cS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0
MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZ3Rx
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEs
NDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZ3VrLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9ndWstc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vZ3VrLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZ3VrLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vZ3VrLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9ndWstc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9nd2otc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL2d3ai1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9n
d2otc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9nd2otc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9nd2otc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2d3ai1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2d3bC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vZ3dsLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2d3bC1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2d3bC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2d3bC1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5j
M2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZ3dsLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vZ3lpLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9neWkt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZ3lpLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vZ3lpLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZ3lpLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZi
NWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9neWktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9oY2stc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2hjay1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9oY2stc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9oY2stc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9oY2stc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5
ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL2hjay1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAg
bWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL2hjcy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaGNzLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2hjcy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL2hjcy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2hjcy1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMx
NjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vaGNzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4t
Ym90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
aGRsLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9oZGwtc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vaGRsLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
aGRsLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaGRsLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDcz
OGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9oZGwtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAg
LTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206
IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9oZHotc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2hkei1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9oZHotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9oZHotc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9oZHotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5
NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2hk
ei1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsx
LDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2hmcC1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vaGZwLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL2hmcC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2hmcC1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL2hmcC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaGZwLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaGl0LXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9oaXQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
aGl0LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaGl0LXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vaGl0LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9oaXQtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9oamMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL2hqYy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9oamMtc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9oamMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9oamMt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2hqYy1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL2hqdS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaGp1
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2hqdS1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL2hqdS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2hqdS1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJm
YjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaGp1LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vaGtzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9oa3Mtc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaGtzLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vaGtzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaGtzLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3
OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9oa3Mtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAg
IG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9obGYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2hsZi1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9obGYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9obGYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9obGYtc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJj
MTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL2hsZi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24u
aHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2lu
LWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L2hteS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaG15LXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL2hteS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L2hteS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2hteS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3
MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vaG15LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBA
IC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9t
OiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaG51LXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9obnUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vaG51LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaG51LXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vaG51LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBk
OTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9o
bnUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCAr
MSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9ob2ctc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL2hvZy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9ob2ctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9ob2ctc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9ob2ctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2hvZy1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2hvei1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vaG96LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L2hvei1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2hvei1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL2hvei1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaG96LXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaHBlLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9ocGUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaHBlLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaHBlLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaHBl
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9ocGUtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9ocXctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2hx
dy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9ocXctc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9ocXctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9ocXctc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjVi
ZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2hxdy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL2hycS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaHJxLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2hycS1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL2hycS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2hycS1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYx
NzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vaHJxLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAg
ICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vaHR2LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9odHYtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaHR2LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vaHR2LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaHR2LXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2Ey
YzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9odHYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
Lmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdp
bi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9odWItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2h1Yi1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9odWItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9odWItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9odWItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBk
NzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL2h1Yi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApA
QCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRv
bTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2h1Zi1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaHVmLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL2h1Zi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2h1Zi1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL2h1Zi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAw
ZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
aHVmLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAg
KzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaHdiLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9od2Itc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vaHdiLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaHdiLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vaHdiLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9od2Itc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9oeG4tc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL2h4bi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9oeG4tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9oeG4tc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9oeG4tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2h4bi1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2liYy1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vaWJjLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2liYy1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2liYy1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2li
Yy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaWJjLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaWJyLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9p
YnItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaWJyLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaWJyLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaWJyLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1
YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9pYnItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9pZHItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2lkci1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9pZHItc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9pZHItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9pZHItc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2
MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL2lkci1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cisg
ICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL2llZi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaWVmLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2llZi1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL2llZi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2llZi1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNh
MmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vaWVmLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJn
aW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vaWhrLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9paGstc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaWhrLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vaWhrLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaWhrLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2Mzkw
ZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9paGstc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwK
QEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0
b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9panUt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2lqdS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9panUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9panUt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9panUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIw
MGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L2lqdS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCww
ICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2lucS1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vaW5xLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL2lucS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2lucS1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL2lucS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24u
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJl
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaW5xLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaXFjLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9pcWMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vaXFjLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaXFjLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vaXFjLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9pcWMtc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9pcnotc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL2lyei1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9pcnot
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9pcnotc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9p
cnotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2lyei1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2lzbS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
aXNtLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2lzbS1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2lzbS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2lzbS1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2Vm
NWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaXNtLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vaXNyLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9pc3Itc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaXNyLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vaXNyLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaXNyLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRh
NjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9pc3Itc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
ICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9pdGgtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2l0aC1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9pdGgtc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9pdGgtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9pdGgtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJj
YTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL2l0aC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFy
Z2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL2l4ai1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaXhqLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2l4ai1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL2l4ai1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2l4ai1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5
MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vaXhqLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
CkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90
dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaXlo
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9peWgtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vaXloLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaXlo
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vaXloLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUy
MDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9peWgtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAs
MCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9peWktc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL2l5aS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9peWktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9peWktc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9peWktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMy
ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2l5aS1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2pkYy1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vamRjLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL2pkYy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2pkYy1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL2pkYy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vamRjLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vamVsLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9qZWwtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vamVs
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vamVsLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
amVsLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9qZWwtc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9qZnAtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L2pmcC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9qZnAtc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9qZnAtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9qZnAtc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNl
ZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2pmcC1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL2pocC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vamhwLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2pocC1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL2pocC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2pocC1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVk
YTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vamhwLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
KyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vamlqLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9qaWotc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vamlqLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vamlqLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vamlqLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQy
Y2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9qaWotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1h
cmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9qaXEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2ppcS1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9qaXEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9qaXEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9qaXEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYz
OTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL2ppcS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRt
bApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJv
dHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2pq
ai1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vampqLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL2pqai1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2pq
ai1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL2pqai1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3Mzhl
MjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vampqLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0w
LDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAx
NTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vamxlLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9qbGUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vamxlLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vamxlLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vamxlLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQz
MmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9qbGUt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0
NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9qbHotc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL2psei1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9qbHotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9qbHotc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9qbHotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2psei1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2pvby1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vam9vLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2pv
by1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2pvby1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L2pvby1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vam9vLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vanB1LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9qcHUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vanB1LXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vanB1LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vanB1LXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMz
ZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9qcHUtc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9qcWgtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2pxaC1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9qcWgtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9qcWgtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9qcWgtc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1
ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2pxaC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL2pxai1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vanFqLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2pxai1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL2pxai1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24u
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2pxai1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlk
MmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vanFqLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBt
YXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vanFxLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9qcXEtc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vanFxLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vanFxLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vanFxLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2
MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9qcXEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0
bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1i
b3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9q
dGwtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2p0bC1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9qdGwtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9q
dGwtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9qdGwtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4
ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL2p0bC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAt
MCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTog
MTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2p1Zy1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vanVnLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL2p1Zy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2p1Zy1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL2p1Zy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0
MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vanVn
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEs
NDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vanV3LXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9qdXctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vanV3LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vanV3LXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vanV3LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9qdXctc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9qdnUtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL2p2dS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9q
dnUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9qdnUtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9qdnUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2p2dS1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2p3cC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vandwLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2p3cC1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2p3cC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2p3cC1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5j
M2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vandwLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vanhnLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9qeGct
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vanhnLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vanhnLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vanhnLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZi
NWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9qeGctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9rYmUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2tiZS1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9rYmUtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9rYmUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9rYmUtc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5
ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL2tiZS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAg
bWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL2tmcS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24va2ZxLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2tmcS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL2tmcS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2tmcS1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMx
NjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24va2ZxLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4t
Ym90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
a25wLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9rbnAtc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24va25wLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
a25wLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24va25wLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDcz
OGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9rbnAtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAg
LTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206
IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9rcHUtc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2twdS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9rcHUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9rcHUtc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9rcHUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5
NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2tw
dS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsx
LDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2txbC1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24va3FsLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL2txbC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2txbC1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL2txbC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24va3FsLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24va3FvLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9rcW8tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
a3FvLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24va3FvLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24va3FvLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9rcW8tc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9rcXctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL2txdy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9rcXctc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9rcXctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9rcXct
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2txdy1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL2tzei1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24va3N6
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2tzei1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL2tzei1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2tzei1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJm
YjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24va3N6LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24va3RnLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9rdGctc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24va3RnLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24va3RnLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24va3RnLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3
OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9rdGctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAg
IG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9rdWEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2t1YS1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9rdWEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9rdWEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9rdWEtc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJj
MTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL2t1YS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24u
aHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2lu
LWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L2t1aC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24va3VoLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL2t1aC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L2t1aC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2t1aC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3
MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24va3VoLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBA
IC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9t
OiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24va3lpLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9reWktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24va3lpLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24va3lpLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24va3lpLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBk
OTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9r
eWktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCAr
MSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9sYWQtc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL2xhZC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9sYWQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9sYWQtc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9sYWQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2xhZC1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2xhZi1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vbGFmLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L2xhZi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2xhZi1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL2xhZi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbGFmLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbGFoLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9sYWgtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbGFoLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbGFoLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbGFo
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9sYWgtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9sYnUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2xi
dS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9sYnUtc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9sYnUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9sYnUtc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjVi
ZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2xidS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL2xjYS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbGNhLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2xjYS1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL2xjYS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2xjYS1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYx
NzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vbGNhLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAg
ICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vbGRiLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9sZGItc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbGRiLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vbGRiLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbGRiLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2Ey
YzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9sZGItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
Lmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdp
bi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9sZHktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2xkeS1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9sZHktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9sZHktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9sZHktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBk
NzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL2xkeS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApA
QCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRv
bTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2xoZC1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbGhkLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL2xoZC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2xoZC1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL2xoZC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAw
ZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
bGhkLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAg
KzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbGhtLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9saG0tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vbGhtLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbGhtLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vbGhtLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9saG0tc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9saWctc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL2xpZy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9saWctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9saWctc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9saWctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2xpZy1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2xqZS1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vbGplLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2xqZS1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2xqZS1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2xq
ZS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbGplLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbGxxLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9s
bHEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbGxxLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbGxxLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbGxxLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1
YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9sbHEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9sbmktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2xuaS1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9sbmktc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9sbmktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9sbmktc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2
MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL2xuaS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cisg
ICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL2xxby1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbHFvLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2xxby1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL2xxby1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2xxby1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNh
MmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vbHFvLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJn
aW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vbHFwLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9scXAtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbHFwLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vbHFwLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbHFwLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2Mzkw
ZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9scXAtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwK
QEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0
b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9scXYt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2xxdi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9scXYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9scXYt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9scXYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIw
MGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L2xxdi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCww
ICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2xyYi1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vbHJiLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL2xyYi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2xyYi1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL2xyYi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24u
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJl
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbHJiLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbHNoLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9sc2gtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vbHNoLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbHNoLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vbHNoLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9sc2gtc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9sdGQtc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL2x0ZC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9sdGQt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9sdGQtc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9s
dGQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2x0ZC1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2x1cS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
bHVxLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2x1cS1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2x1cS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2x1cS1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2Vm
NWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbHVxLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vbHV0LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9sdXQtc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbHV0LXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vbHV0LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbHV0LXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRh
NjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9sdXQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
ICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9sdmQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2x2ZC1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9sdmQtc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9sdmQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9sdmQtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJj
YTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL2x2ZC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFy
Z2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL2x4YS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbHhhLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2x4YS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL2x4YS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2x4YS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5
MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vbHhhLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
CkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90
dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbHlt
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9seW0tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vbHltLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbHlt
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vbHltLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUy
MDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9seW0tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAs
MCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9tYXEtc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL21hcS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9tYXEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9tYXEtc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9tYXEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMy
ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL21hcS1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL21jaS1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vbWNpLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL21jaS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL21jaS1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL21jaS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbWNpLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbWNrLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9tY2stc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbWNr
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbWNrLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
bWNrLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9tY2stc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9taG8tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L21oby1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9taG8tc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9taG8tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9taG8tc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNl
ZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL21oby1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL21pZi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbWlmLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL21pZi1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL21pZi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL21pZi1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVk
YTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbWlmLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
KyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vbWtkLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9ta2Qtc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbWtkLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vbWtkLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbWtkLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQy
Y2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9ta2Qtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1h
cmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9tcGYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL21wZi1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9tcGYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9tcGYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9tcGYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYz
OTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL21wZi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRt
bApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJv
dHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL21w
by1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbXBvLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL21wby1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL21w
by1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL21wby1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3Mzhl
MjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vbXBvLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0w
LDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAx
NTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbXNqLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9tc2otc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vbXNqLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbXNqLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vbXNqLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQz
MmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9tc2ot
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0
NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9td3ctc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL213dy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9td3ctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9td3ctc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9td3ctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL213dy1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL214Zy1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vbXhnLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL214
Zy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL214Zy1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L214Zy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbXhnLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbXl6LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9teXotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbXl6LXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbXl6LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbXl6LXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMz
ZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9teXotc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9uYXMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL25hcy1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9uYXMtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9uYXMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9uYXMtc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1
ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL25hcy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL25ici1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbmJyLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL25ici1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL25ici1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24u
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL25ici1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlk
MmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vbmJyLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBt
YXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vbmRkLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9uZGQtc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbmRkLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vbmRkLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbmRkLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2
MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9uZGQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0
bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1i
b3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9u
ZHQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL25kdC1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9uZHQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9u
ZHQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9uZHQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4
ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL25kdC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAt
MCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTog
MTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL25laS1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbmVpLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL25laS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL25laS1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL25laS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0
MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbmVp
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEs
NDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbmV0LXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9uZXQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vbmV0LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbmV0LXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vbmV0LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9uZXQtc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9uaHUtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL25odS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9u
aHUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9uaHUtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9uaHUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL25odS1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL25qcC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vbmpwLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL25qcC1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL25qcC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL25qcC1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5j
M2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbmpwLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vbmxjLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9ubGMt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbmxjLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vbmxjLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbmxjLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZi
NWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9ubGMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9ubHMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL25scy1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9ubHMtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9ubHMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9ubHMtc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5
ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL25scy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAg
bWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL25uai1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbm5qLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL25uai1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL25uai1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL25uai1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMx
NjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vbm5qLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4t
Ym90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
bm5xLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9ubnEtc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vbm5xLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
bm5xLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbm5xLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDcz
OGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9ubnEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAg
LTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206
IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9udHMtc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL250cy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9udHMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9udHMtc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9udHMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5
NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL250
cy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsx
LDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL253aC1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vbndoLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL253aC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL253aC1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL253aC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbndoLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbnhyLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9ueHItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
bnhyLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbnhyLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vbnhyLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9ueHItc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9ueWUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL255ZS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9ueWUtc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9ueWUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9ueWUt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL255ZS1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL256cS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbnpx
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL256cS1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL256cS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL256cS1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJm
YjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbnpxLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vb2JuLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9vYm4tc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vb2JuLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vb2JuLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vb2JuLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3
OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9vYm4tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAg
IG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9vY3otc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL29jei1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9vY3otc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9vY3otc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9vY3otc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJj
MTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL29jei1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24u
aHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2lu
LWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L29kZi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vb2RmLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL29kZi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L29kZi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL29kZi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3
MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vb2RmLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBA
IC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9t
OiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vb2VkLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9vZWQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vb2VkLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vb2VkLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vb2VkLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBk
OTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9v
ZWQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCAr
MSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9vangtc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL29qeC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9vangtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9vangtc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9vangtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL29qeC1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL29rZC1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vb2tkLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L29rZC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL29rZC1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL29rZC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vb2tkLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vb3BkLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9vcGQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vb3BkLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vb3BkLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vb3Bk
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9vcGQtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9vcHctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL29w
dy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9vcHctc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9vcHctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9vcHctc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjVi
ZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL29wdy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL29xay1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vb3FrLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL29xay1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL29xay1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL29xay1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYx
NzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vb3FrLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAg
ICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vb3JtLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9vcm0tc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vb3JtLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vb3JtLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vb3JtLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2Ey
YzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9vcm0tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
Lmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdp
bi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9vcnctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL29ydy1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9vcnctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9vcnctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9vcnctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBk
NzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL29ydy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApA
QCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRv
bTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL290bC1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vb3RsLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL290bC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL290bC1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL290bC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAw
ZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
b3RsLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAg
KzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vb3Z0LXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9vdnQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vb3Z0LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vb3Z0LXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vb3Z0LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9vdnQtc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9vd2Utc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL293ZS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9vd2Utc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9vd2Utc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9vd2Utc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL293ZS1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL293cy1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vb3dzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL293cy1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL293cy1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL293
cy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vb3dzLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vb3lzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9v
eXMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vb3lzLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vb3lzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vb3lzLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1
YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9veXMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9venctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL296dy1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9venctc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9venctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9venctc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2
MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL296dy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cisg
ICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3BheC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcGF4LXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3BheC1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3BheC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3BheC1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNh
MmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vcGF4LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJn
aW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vcGJuLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9wYm4tc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcGJuLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vcGJuLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcGJuLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2Mzkw
ZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9wYm4tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwK
QEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0
b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9wY2Et
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3BjYS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9wY2Etc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9wY2Et
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9wY2Etc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIw
MGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3BjYS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCww
ICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3BlcS1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vcGVxLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3BlcS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3BlcS1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3BlcS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24u
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJl
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcGVxLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcGZqLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9wZmotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vcGZqLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcGZqLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vcGZqLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9wZmotc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9wZ3Ytc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3Bndi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9wZ3Yt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9wZ3Ytc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9w
Z3Ytc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Bndi1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3BqbC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
cGpsLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3BqbC1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3BqbC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3BqbC1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2Vm
NWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcGpsLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vcHBkLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9wcGQtc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcHBkLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vcHBkLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcHBkLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRh
NjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9wcGQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
ICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9wcXEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3BxcS1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9wcXEtc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9wcXEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9wcXEtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJj
YTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3BxcS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFy
Z2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3BybS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcHJtLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3BybS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3BybS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3BybS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5
MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vcHJtLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
CkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90
dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcHVp
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9wdWktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vcHVpLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcHVp
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vcHVpLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUy
MDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9wdWktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAs
MCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9wd2ctc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3B3Zy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9wd2ctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9wd2ctc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9wd2ctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMy
ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3B3Zy1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3B4YS1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vcHhhLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3B4YS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3B4YS1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3B4YS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcHhhLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcHhmLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9weGYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcHhm
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcHhmLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
cHhmLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9weGYtc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9wenYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3B6di1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9wenYtc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9wenYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9wenYtc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNl
ZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3B6di1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3FlYS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcWVhLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3FlYS1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3FlYS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3FlYS1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVk
YTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcWVhLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
KyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vcWV4LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9xZXgtc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcWV4LXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vcWV4LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcWV4LXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQy
Y2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9xZXgtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1h
cmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9xZnAtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3FmcC1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9xZnAtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9xZnAtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9xZnAtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYz
OTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3FmcC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRt
bApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJv
dHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Fm
di1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcWZ2LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3Fmdi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Fm
di1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Fmdi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3Mzhl
MjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vcWZ2LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0w
LDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAx
NTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcWhqLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9xaGotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vcWhqLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcWhqLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vcWhqLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQz
MmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9xaGot
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0
NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9xaHYtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3Fodi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9xaHYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9xaHYtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9xaHYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Fodi1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3FqaS1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vcWppLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Fq
aS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3FqaS1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3FqaS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcWppLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcWtvLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9xa28tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcWtvLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcWtvLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcWtvLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMz
ZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9xa28tc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9xa3ctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Frdy1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9xa3ctc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9xa3ctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9xa3ctc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1
ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Frdy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3FuZC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcW5kLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3FuZC1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3FuZC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24u
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3FuZC1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlk
MmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vcW5kLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBt
YXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vcXJ2LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9xcnYtc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcXJ2LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vcXJ2LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcXJ2LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2
MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9xcnYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0
bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1i
b3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9x
c2stc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Fzay1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9xc2stc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9x
c2stc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9xc2stc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4
ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3Fzay1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAt
MCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTog
MTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3F0ay1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcXRrLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3F0ay1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3F0ay1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3F0ay1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0
MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcXRr
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEs
NDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcXV5LXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9xdXktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vcXV5LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcXV5LXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vcXV5LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9xdXktc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9xd2ktc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3F3aS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9x
d2ktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9xd2ktc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9xd2ktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3F3aS1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3F4cS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vcXhxLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3F4cS1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3F4cS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3F4cS1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5j
M2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcXhxLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vcXlmLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9xeWYt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcXlmLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vcXlmLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcXlmLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZi
NWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9xeWYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9xeWgtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3F5aC1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9xeWgtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9xeWgtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9xeWgtc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5
ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3F5aC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAg
bWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3F5aS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcXlpLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3F5aS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3F5aS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3F5aS1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMx
NjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vcXlpLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4t
Ym90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
cXpoLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9xemgtc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vcXpoLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
cXpoLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcXpoLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDcz
OGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9xemgtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAg
LTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206
IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9yYXktc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3JheS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9yYXktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9yYXktc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9yYXktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5
NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Jh
eS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsx
LDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Jkdi1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vcmR2LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3Jkdi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Jkdi1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3Jkdi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcmR2LXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcmVxLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9yZXEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
cmVxLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcmVxLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vcmVxLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9yZXEtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9yZ3Qtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3JndC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9yZ3Qtc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9yZ3Qtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9yZ3Qt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3JndC1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Joei1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcmh6
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Joei1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Joei1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Joei1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJm
YjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcmh6LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vcmlhLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9yaWEtc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcmlhLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vcmlhLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcmlhLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3
OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9yaWEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAg
IG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9ybGMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3JsYy1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9ybGMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9ybGMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9ybGMtc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJj
MTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3JsYy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24u
aHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2lu
LWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3JtYi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcm1iLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3JtYi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3JtYi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3JtYi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3
MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vcm1iLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBA
IC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9t
OiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcm5iLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9ybmItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vcm5iLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcm5iLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vcm5iLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBk
OTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9y
bmItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCAr
MSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9yb2Ytc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3JvZi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9yb2Ytc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9yb2Ytc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9yb2Ytc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3JvZi1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3JveS1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vcm95LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3JveS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3JveS1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3JveS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcm95LXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcnBpLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9ycGktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcnBpLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcnBpLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcnBp
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9ycGktc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9ycXgtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Jx
eC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9ycXgtc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9ycXgtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9ycXgtc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjVi
ZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3JxeC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3Jyai1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcnJqLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Jyai1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3Jyai1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Jyai1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYx
NzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vcnJqLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAg
ICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vcnN6LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9yc3otc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcnN6LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vcnN6LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcnN6LXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2Ey
YzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9yc3otc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
Lmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdp
bi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9ydnItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3J2ci1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9ydnItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9ydnItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9ydnItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBk
NzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3J2ci1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApA
QCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRv
bTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3J4Zy1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcnhnLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3J4Zy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3J4Zy1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3J4Zy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAw
ZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
cnhnLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAg
KzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcnpwLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9yenAtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vcnpwLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcnpwLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vcnpwLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9yenAtc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zY2ktc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NjaS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zY2ktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zY2ktc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zY2ktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NjaS1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NkYi1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2RiLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NkYi1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NkYi1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Nk
Yi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2RiLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2VwLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
ZXAtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2VwLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2VwLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2VwLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1
YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zZXAtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zZmEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NmYS1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zZmEtc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zZmEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zZmEtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2
MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NmYS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cisg
ICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3Nmay1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2ZrLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Nmay1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3Nmay1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Nmay1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNh
MmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2ZrLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJn
aW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2d4LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zZ3gtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2d4LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2d4LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2d4LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2Mzkw
ZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zZ3gtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwK
QEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0
b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGYt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoZi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGYt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIw
MGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoZi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCww
ICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NpaS1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2lpLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NpaS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NpaS1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NpaS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24u
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJl
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2lpLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2lqLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaWotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2lqLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2lqLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2lqLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaWotc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zbXctc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3Ntdy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zbXct
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zbXctc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
bXctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Ntdy1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NucS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c25xLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NucS1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NucS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NucS1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2Vm
NWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc25xLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc3B2LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zcHYtc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc3B2LXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc3B2LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc3B2LXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRh
NjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zcHYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
ICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zcXUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NxdS1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zcXUtc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zcXUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zcXUtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJj
YTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NxdS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFy
Z2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3Nxdi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc3F2LXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Nxdi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3Nxdi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Nxdi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5
MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc3F2LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
CkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90
dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc3Jz
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zcnMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc3JzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc3Jz
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc3JzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUy
MDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zcnMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAs
MCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zcnYtc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Nydi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zcnYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zcnYtc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zcnYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMy
ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Nydi1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Nzci1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc3NyLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3Nzci1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Nzci1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3Nzci1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc3NyLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc3RkLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zdGQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc3Rk
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc3RkLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c3RkLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zdGQtc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zdWMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3N1Yy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zdWMtc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zdWMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zdWMtc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNl
ZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3N1Yy1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3N1ZS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc3VlLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3N1ZS1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3N1ZS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3N1ZS1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVk
YTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc3VlLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
KyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc3ZiLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zdmItc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc3ZiLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc3ZiLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc3ZiLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQy
Y2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zdmItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1h
cmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zd2gtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3N3aC1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zd2gtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zd2gtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zd2gtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYz
OTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3N3aC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRt
bApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJv
dHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3N4
di1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc3h2LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3N4di1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3N4
di1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3N4di1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3Mzhl
MjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc3h2LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0w
LDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAx
NTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc3l1LXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zeXUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc3l1LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc3l1LXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc3l1LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQz
MmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zeXUt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0
NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zeXotc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3N5ei1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zeXotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zeXotc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zeXotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3N5ei1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3N6by1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc3pvLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3N6
by1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3N6by1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3N6by1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc3pvLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdGJ0LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi90YnQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdGJ0LXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdGJ0LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdGJ0LXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMz
ZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi90YnQtc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi90Y3ctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Rjdy1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi90Y3ctc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi90Y3ctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi90Y3ctc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1
ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Rjdy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3RmaS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdGZpLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3RmaS1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3RmaS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24u
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3RmaS1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlk
MmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vdGZpLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBt
YXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vdGlrLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi90aWstc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdGlrLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vdGlrLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdGlrLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2
MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi90aWstc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0
bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1i
b3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi90
aXQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3RpdC1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi90aXQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi90
aXQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi90aXQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4
ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3RpdC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAt
MCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTog
MTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Rpdi1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdGl2LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3Rpdi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Rpdi1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3Rpdi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0
MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdGl2
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEs
NDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdGl4LXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi90aXgtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vdGl4LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdGl4LXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vdGl4LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi90aXgtc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi90amQtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3RqZC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi90
amQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi90amQtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi90amQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3RqZC1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3RqdS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vdGp1LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3RqdS1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3RqdS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3RqdS1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5j
M2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdGp1LXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vdGt5LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi90a3kt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdGt5LXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vdGt5LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdGt5LXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZi
NWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi90a3ktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi90bGktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3RsaS1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi90bGktc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi90bGktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi90bGktc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5
ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3RsaS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAg
bWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3RvYS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdG9hLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3RvYS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3RvYS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3RvYS1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMx
NjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vdG9hLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4t
Ym90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
dHFzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi90cXMtc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vdHFzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
dHFzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdHFzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDcz
OGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi90cXMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAg
LTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206
IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi90cXctc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Rxdy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi90cXctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi90cXctc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi90cXctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5
NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Rx
dy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsx
LDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Rzdi1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vdHN2LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3Rzdi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Rzdi1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3Rzdi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdHN2LXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdHN6LXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi90c3otc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
dHN6LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdHN6LXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vdHN6LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi90c3otc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi90dXEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3R1cS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi90dXEtc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi90dXEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi90dXEt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3R1cS1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3R1dy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdHV3
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3R1dy1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3R1dy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3R1dy1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJm
YjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdHV3LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vdHZsLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi90dmwtc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdHZsLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vdHZsLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdHZsLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3
OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi90dmwtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAg
IG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi90d3gtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3R3eC1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi90d3gtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi90d3gtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi90d3gtc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJj
MTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3R3eC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24u
aHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2lu
LWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3R4Yi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdHhiLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3R4Yi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3R4Yi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3R4Yi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3
MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vdHhiLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBA
IC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9t
OiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdHhzLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi90eHMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vdHhzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdHhzLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vdHhzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBk
OTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi90
eHMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCAr
MSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi91YmYtc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3ViZi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi91YmYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi91YmYtc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi91YmYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3ViZi1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Vjcy1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vdWNzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3Vjcy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Vjcy1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3Vjcy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdWNzLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdWVwLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi91ZXAtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdWVwLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdWVwLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdWVw
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi91ZXAtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi91ZXUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Vl
dS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi91ZXUtc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi91ZXUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi91ZXUtc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjVi
ZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3VldS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3VmdS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdWZ1LXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3VmdS1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3VmdS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3VmdS1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYx
NzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vdWZ1LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAg
ICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vdWlvLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi91aW8tc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdWlvLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vdWlvLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdWlvLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2Ey
YzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi91aW8tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
Lmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdp
bi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi91bHAtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3VscC1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi91bHAtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi91bHAtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi91bHAtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBk
NzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3VscC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApA
QCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRv
bTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Vtay1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdW1rLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3Vtay1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Vtay1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3Vtay1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAw
ZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
dW1rLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAg
KzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdXFxLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi91cXEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vdXFxLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdXFxLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vdXFxLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi91cXEtc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi91cnctc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3Vydy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi91cnctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi91cnctc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi91cnctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Vydy1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3V3Zi1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vdXdmLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3V3Zi1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3V3Zi1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3V3
Zi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdXdmLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdXh3LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi91
eHctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdXh3LXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdXh3LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdXh3LXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1
YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi91eHctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi92YWktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3ZhaS1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi92YWktc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi92YWktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi92YWktc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2
MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3ZhaS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cisg
ICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3ZidC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdmJ0LXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3ZidC1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3ZidC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3ZidC1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNh
MmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vdmJ0LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJn
aW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vdmNuLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi92Y24tc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdmNuLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vdmNuLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdmNuLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2Mzkw
ZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi92Y24tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwK
QEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0
b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi92Y28t
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Zjby1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi92Y28tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi92Y28t
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi92Y28tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIw
MGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3Zjby1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCww
ICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3ZmbC1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vdmZsLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3ZmbC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3ZmbC1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3ZmbC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24u
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJl
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdmZsLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdmZtLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi92Zm0tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vdmZtLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdmZtLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vdmZtLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi92Zm0tc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi92Zngtc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3ZmeC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi92Zngt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi92Zngtc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi92
Zngtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3ZmeC1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3ZnYS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
dmdhLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3ZnYS1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3ZnYS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3ZnYS1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2Vm
NWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdmdhLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vdmdiLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi92Z2Itc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdmdiLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vdmdiLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdmdiLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRh
NjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi92Z2Itc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
ICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi92Z2Mtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3ZnYy1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi92Z2Mtc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi92Z2Mtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi92Z2Mtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJj
YTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3ZnYy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFy
Z2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3Znai1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdmdqLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Znai1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3Znai1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Znai1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5
MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vdmdqLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
CkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90
dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdmhy
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi92aHItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vdmhyLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdmhy
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vdmhyLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUy
MDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi92aHItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAs
MCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi92aHctc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Zody1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi92aHctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi92aHctc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi92aHctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMy
ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Zody1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Zpcy1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vdmlzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3Zpcy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Zpcy1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3Zpcy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdmlzLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdml1LXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi92aXUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdml1
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdml1LXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
dml1LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi92aXUtc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi92aXktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3ZpeS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi92aXktc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi92aXktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi92aXktc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNl
ZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3ZpeS1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3ZrYi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdmtiLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3ZrYi1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3ZrYi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3ZrYi1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVk
YTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdmtiLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
KyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vdm5uLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi92bm4tc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdm5uLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vdm5uLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdm5uLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQy
Y2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi92bm4tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1h
cmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi92bnktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3ZueS1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi92bnktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi92bnktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi92bnktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYz
OTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3ZueS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRt
bApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJv
dHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Zv
dC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdm90LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3ZvdC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Zv
dC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3ZvdC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3Mzhl
MjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vdm90LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0w
LDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAx
NTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdnB2LXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi92cHYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vdnB2LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdnB2LXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vdnB2LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQz
MmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi92cHYt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0
NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi92cHotc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3Zwei1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi92cHotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi92cHotc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi92cHotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Zwei1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3ZxbC1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vdnFsLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Zx
bC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3ZxbC1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3ZxbC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdnFsLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdnJmLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi92cmYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdnJmLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdnJmLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdnJmLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMz
ZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi92cmYtc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi92cnctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Zydy1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi92cnctc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi92cnctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi92cnctc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1
ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Zydy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3Zzci1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdnNyLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Zzci1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3Zzci1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24u
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Zzci1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlk
MmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vdnNyLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBt
YXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vdnN6LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi92c3otc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdnN6LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vdnN6LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdnN6LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2
MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi92c3otc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0
bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1i
b3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi92
dWotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Z1ai1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi92dWotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi92
dWotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi92dWotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4
ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3Z1ai1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAt
MCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTog
MTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Z2by1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdnZvLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3Z2by1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Z2by1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3Z2by1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0
MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdnZv
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEs
NDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdnhjLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi92eGMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vdnhjLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdnhjLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vdnhjLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi92eGMtc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi92eWstc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3Z5ay1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi92
eWstc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi92eWstc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi92eWstc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Z5ay1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Z5cC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vdnlwLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Z5cC1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Z5cC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Z5cC1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5j
M2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdnlwLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vdnpoLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi92emgt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdnpoLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vdnpoLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdnpoLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZi
NWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi92emgtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi93YWEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3dhYS1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi93YWEtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi93YWEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi93YWEtc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5
ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3dhYS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAg
bWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3dheS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vd2F5LXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3dheS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3dheS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3dheS1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMx
NjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vd2F5LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4t
Ym90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
d2JpLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi93Ymktc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vd2JpLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
d2JpLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vd2JpLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDcz
OGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi93Ymktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAg
LTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206
IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi93Ymwtc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3dibC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi93Ymwtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi93Ymwtc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi93Ymwtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5
NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3di
bC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsx
LDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3djZy1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vd2NnLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3djZy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3djZy1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3djZy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vd2NnLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vd2NsLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi93Y2wtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
d2NsLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vd2NsLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vd2NsLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi93Y2wtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi93ZGotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3dkai1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi93ZGotc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi93ZGotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi93ZGot
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3dkai1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3dnbS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vd2dt
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3dnbS1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3dnbS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3dnbS1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJm
YjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vd2dtLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vd2hrLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi93aGstc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vd2hrLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vd2hrLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vd2hrLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3
OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi93aGstc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAg
IG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi93a28tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3drby1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi93a28tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi93a28tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi93a28tc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJj
MTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3drby1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24u
aHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2lu
LWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3dsby1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vd2xvLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3dsby1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3dsby1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3dsby1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3
MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vd2xvLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBA
IC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9t
OiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vd2xxLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi93bHEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vd2xxLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vd2xxLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vd2xxLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBk
OTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi93
bHEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCAr
MSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi93bHYtc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3dsdi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi93bHYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi93bHYtc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi93bHYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3dsdi1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3dtZC1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vd21kLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3dtZC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3dtZC1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3dtZC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vd21kLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vd251LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi93bnUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vd251LXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vd251LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vd251
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi93bnUtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi93bngtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3du
eC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi93bngtc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi93bngtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi93bngtc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjVi
ZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3dueC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3dvYi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vd29iLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3dvYi1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3dvYi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3dvYi1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYx
NzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vd29iLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAg
ICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vd3B1LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi93cHUtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vd3B1LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vd3B1LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vd3B1LXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2Ey
YzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi93cHUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
Lmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdp
bi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi93cWstc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3dxay1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi93cWstc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi93cWstc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi93cWstc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBk
NzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3dxay1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApA
QCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRv
bTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3dxcS1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vd3FxLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3dxcS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3dxcS1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3dxcS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAw
ZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
d3FxLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAg
KzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vd3F4LXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi93cXgtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vd3F4LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vd3F4LXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vd3F4LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi93cXgtc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi93cnYtc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3dydi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi93cnYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi93cnYtc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi93cnYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3dydi1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3d0dC1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vd3R0LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3d0dC1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3d0dC1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3d0
dC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vd3R0LXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vd3VrLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi93
dWstc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vd3VrLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vd3VrLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vd3VrLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1
YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi93dWstc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi93dXgtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3d1eC1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi93dXgtc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi93dXgtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi93dXgtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2
MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3d1eC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cisg
ICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3d2Zy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vd3ZnLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3d2Zy1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3d2Zy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3d2Zy1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNh
MmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vd3ZnLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJn
aW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vd3d0LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi93d3Qtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vd3d0LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vd3d0LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vd3d0LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2Mzkw
ZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi93d3Qtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwK
QEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0
b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi93eWwt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3d5bC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi93eWwtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi93eWwt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi93eWwtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIw
MGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3d5bC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCww
ICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3hhay1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24veGFrLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3hhay1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3hhay1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3hhay1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24u
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJl
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24veGFrLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24veGJoLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi94Ymgtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24veGJoLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24veGJoLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24veGJoLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi94Ymgtc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi94YnItc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3hici1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi94YnIt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi94YnItc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi94
YnItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3hici1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3hjYi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
eGNiLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3hjYi1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3hjYi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3hjYi1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2Vm
NWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24veGNiLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24veGRvLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi94ZG8tc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24veGRvLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24veGRvLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24veGRvLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRh
NjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi94ZG8tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
ICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi94ZWstc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3hlay1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi94ZWstc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi94ZWstc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi94ZWstc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJj
YTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3hlay1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFy
Z2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3hpcS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24veGlxLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3hpcS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3hpcS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3hpcS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5
MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24veGlxLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
CkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90
dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24veG52
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi94bnYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24veG52LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24veG52
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24veG52LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUy
MDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi94bnYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAs
MCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi94bnctc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3hudy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi94bnctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi94bnctc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi94bnctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMy
ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3hudy1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3hwdC1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24veHB0LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3hwdC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3hwdC1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3hwdC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24veHB0LXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24veHJlLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi94cmUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24veHJl
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24veHJlLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
eHJlLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi94cmUtc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi94cm0tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3hybS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi94cm0tc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi94cm0tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi94cm0tc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNl
ZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3hybS1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3hzbS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24veHNtLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3hzbS1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3hzbS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3hzbS1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVk
YTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24veHNtLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
KyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24veHVjLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi94dWMtc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24veHVjLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24veHVjLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24veHVjLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQy
Y2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi94dWMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1h
cmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi94dXItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3h1ci1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi94dXItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi94dXItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi94dXItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYz
OTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3h1ci1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRt
bApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJv
dHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3h1
cy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24veHVzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3h1cy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3h1
cy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3h1cy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3Mzhl
MjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24veHVzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0w
LDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAx
NTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24veHZyLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi94dnItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24veHZyLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24veHZyLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24veHZyLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQz
MmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi94dnIt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0
NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi94eG0tc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3h4bS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi94eG0tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi94eG0tc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi94eG0tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3h4bS1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3lhby1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24veWFvLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3lh
by1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3lhby1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3lhby1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24veWFvLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24veWF6LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi95YXotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24veWF6LXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24veWF6LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24veWF6LXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMz
ZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi95YXotc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi95YnUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3lidS1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi95YnUtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi95YnUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi95YnUtc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1
ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3lidS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3lkbS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24veWRtLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3lkbS1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3lkbS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24u
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3lkbS1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlk
MmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24veWRtLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBt
YXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24veWZzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi95ZnMtc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24veWZzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24veWZzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24veWZzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2
MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi95ZnMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0
bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1i
b3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi95
Z2otc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3lnai1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi95Z2otc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi95
Z2otc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi95Z2otc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4
ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3lnai1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAt
MCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTog
MTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3lncC1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24veWdwLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3lncC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3lncC1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3lncC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0
MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24veWdw
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEs
NDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24veWhnLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi95aGctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24veWhnLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24veWhnLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24veWhnLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi95aGctc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi95aXAtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3lpcC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi95
aXAtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi95aXAtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi95aXAtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3lpcC1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3lraC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24veWtoLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3lraC1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3lraC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3lraC1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5j
M2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24veWtoLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24veW16LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi95bXot
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24veW16LXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24veW16LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24veW16LXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZi
NWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi95bXotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi95c2otc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3lzai1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi95c2otc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi95c2otc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi95c2otc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5
ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3lzai1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAg
bWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3lzdC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24veXN0LXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3lzdC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3lzdC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3lzdC1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMx
NjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24veXN0LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4t
Ym90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
eXRjLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi95dGMtc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24veXRjLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
eXRjLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24veXRjLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDcz
OGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi95dGMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAg
LTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206
IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi95dWwtc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3l1bC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi95dWwtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi95dWwtc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi95dWwtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5
NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3l1
bC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsx
LDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3l2eC1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24veXZ4LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3l2eC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3l2eC1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3l2eC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24veXZ4LXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24veXdoLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi95d2gtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
eXdoLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24veXdoLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24veXdoLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi95d2gtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi95d3Mtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3l3cy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi95d3Mtc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi95d3Mtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi95d3Mt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3l3cy1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3l4dC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24veXh0
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3l4dC1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3l4dC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3l4dC1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJm
YjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24veXh0LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vemJvLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi96Ym8tc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vemJvLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vemJvLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vemJvLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3
OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi96Ym8tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAg
IG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi96Y3Qtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3pjdC1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi96Y3Qtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi96Y3Qtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi96Y3Qtc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJj
MTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3pjdC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24u
aHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2lu
LWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3pnYy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vemdjLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3pnYy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3pnYy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3pnYy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3
MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vemdjLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBA
IC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9t
OiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vemd0LXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi96Z3Qtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vemd0LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vemd0LXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vemd0LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBk
OTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi96
Z3Qtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCAr
MSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi96aGQtc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3poZC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi96aGQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi96aGQtc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi96aGQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3poZC1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3ppci1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vemlyLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3ppci1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3ppci1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3ppci1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vemlyLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vemt4LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi96a3gtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vemt4LXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vemt4LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vemt4
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi96a3gtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi96bnItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3pu
ci1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi96bnItc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi96bnItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi96bnItc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjVi
ZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3puci1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3pwbi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24venBuLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3pwbi1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3pwbi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3pwbi1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYx
NzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24venBuLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAg
ICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24venFkLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi96cWQtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24venFkLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24venFkLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24venFkLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2Ey
YzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi96cWQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
Lmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdp
bi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi96cXQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3pxdC1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi96cXQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi96cXQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi96cXQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBk
NzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3pxdC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApA
QCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRv
bTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3pyay1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24venJrLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3pyay1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3pyay1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3pyay1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAw
ZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
enJrLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAg
KzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24venNzLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi96c3Mtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24venNzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24venNzLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24venNzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmMzZWY1YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi96c3Mtc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi96d2Mtc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3p3Yy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi96d2Mtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi96d2Mtc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi96d2Mtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYzNlZjViZmI1ZGE2MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3p3Yy1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3p3bS1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vendtLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3p3bS1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3p3bS1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3p3
bS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5jM2VmNWJmYjVkYTYxNzlkMmNhMmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vendtLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vend4LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi96
d3gtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vend4LXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vend4LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vend4LXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZWY1
YmZiNWRhNjE3OWQyY2EyYzE2MzkwZDczOGUyMDBkOTQzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi96d3gtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi96em8tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3p6by1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi96em8tc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi96em8tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi96em8tc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlZjViZmI1ZGE2
MTc5ZDJjYTJjMTYzOTBkNzM4ZTIwMGQ5NDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3p6by1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cisg
ICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3p6ci1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24venpyLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3p6ci1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3p6ci1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3p6ci1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2VmNWJmYjVkYTYxNzlkMmNh
MmMxNjM5MGQ3MzhlMjAwZDk0MzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24venpyLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBtYXJn
aW4tYm90dG9tOiAxNTBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNp
bXVsYXRvci13azIvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1z
aW11bGF0b3Itd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZWFkYmViYWRkMWJiMjQyNjVmNTM3
ZjYzODQ2MDBhOWFhMGQ4MmZkOS4uODY2MjMxNWIyZjZiMzBmYjU2MzIwMDIxNzQxNDdlNDdlNTVj
MTNlNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbXVsYXRvci13azIv
VGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltdWxhdG9y
LXdrMi9UZXN0RXhwZWN0YXRpb25zCkBAIC05Miw1ICs5MiwzIEBAIHdlYmtpdC5vcmcvYi8yMDc0
OTYgaHR0cC93cHQvY2FjaGUtc3RvcmFnZS9jYWNoZS1wdXQta2V5cy5odHRwcy5hbnkuaHRtbCBb
IFBhc3MKIAogd2Via2l0Lm9yZy9iLzIxNDQyMiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dlYmF1ZGlvL3RoZS1hdWRpby1hcGkvdGhlLWF1ZGlvY29udGV4dC1pbnRlcmZhY2Uvc3Vz
cGVuZC1hZnRlci1jb25zdHJ1Y3QuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAKLXdlYmtpdC5vcmcv
Yi8yMTQ2ODggZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQotCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405172</attachid>
            <date>2020-07-24 13:56:52 -0700</date>
            <delta_ts>2020-07-24 14:27:34 -0700</delta_ts>
            <desc>Data collection</desc>
            <filename>bug-214688-20200724135650.patch</filename>
            <type>text/plain</type>
            <size>603931</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0ODEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGE1MGM1MjFlNjdlNzY3NGEw
ZWZmYjA1N2QwNDI5MjY5NTA0YTBmYWQuLjQ3M2IxMjM1YzE3OThiOGFhMmYxNDc5NGE5NGYwYTg2
ZmI5MGI2OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMDctMjQgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTiAocjI2
NDY5MCk6IFsgaU9TIHdrMiBdIGVkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGlzIGEgZmxha3kgZmFpbHVyZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0Njg4CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS82NTk5MzY4Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1t
OgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9zaW5nbGVUYXBJZGVudGlmaWVkOl0pOgorICAg
ICAgICAoLVtXS0NvbnRlbnRWaWV3IF9zaW5nbGVUYXBSZWNvZ25pemVkOl0pOgorICAgICAgICAq
IFVJUHJvY2Vzcy9pb3MvV0tTeW50aGV0aWNUYXBHZXN0dXJlUmVjb2duaXplci5tbToKKyAgICAg
ICAgKC1bV0tTeW50aGV0aWNUYXBHZXN0dXJlUmVjb2duaXplciBzZXRTdGF0ZTpdKToKKwogMjAy
MC0wNy0yMyAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAg
ICBUYXBwaW5nIFF1aWNrVHlwZSBzdWdnZXN0aW9ucyBmb3IgYSBtaXNzcGVsbGVkIHdvcmQgZG9l
cyBub3RoaW5nIGluIE1haWwgY29tcG9zZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KaW5kZXggYjA0MWMyOTI5MWUy
YTNjMjg2NzYzNjliNTAwY2ZjMWM3Mjk2NWQ2ZS4uMWE3NGY5Yzg1MjAyYTllN2NhYTgzZDIxNTM3
MjdjODMwNDYyMDdkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dL
Q29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9p
b3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCkBAIC0yNzI4LDYgKzI3MjgsNyBAQCAtICh2
b2lkKV9lbmRQb3RlbnRpYWxUYXBBbmRFbmFibGVEb3VibGVUYXBHZXN0dXJlc0lmTmVjZXNzYXJ5
CiAKIC0gKHZvaWQpX3NpbmdsZVRhcElkZW50aWZpZWQ6KFVJVGFwR2VzdHVyZVJlY29nbml6ZXIg
KilnZXN0dXJlUmVjb2duaXplcgogeworICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogJXMiLCBfX1BS
RVRUWV9GVU5DVElPTl9fKTsKICAgICBBU1NFUlQoZ2VzdHVyZVJlY29nbml6ZXIgPT0gX3Npbmds
ZVRhcEdlc3R1cmVSZWNvZ25pemVyKTsKICAgICBBU1NFUlQoIV9wb3RlbnRpYWxUYXBJblByb2dy
ZXNzKTsKICAgICBbc2VsZiBfcmVzZXRJc0RvdWJsZVRhcFBlbmRpbmddOwpAQCAtMjgwMyw2ICsy
ODA0LDcgQEAgLSAodm9pZClfZGlkQ29tcGxldGVTeW50aGV0aWNDbGljawogCiAtICh2b2lkKV9z
aW5nbGVUYXBSZWNvZ25pemVkOihVSVRhcEdlc3R1cmVSZWNvZ25pemVyICopZ2VzdHVyZVJlY29n
bml6ZXIKIHsKKyAgICBXVEZMb2dBbHdheXMoIjxXSz46ICVzIiwgX19QUkVUVFlfRlVOQ1RJT05f
Xyk7CiAgICAgQVNTRVJUKGdlc3R1cmVSZWNvZ25pemVyID09IF9zaW5nbGVUYXBHZXN0dXJlUmVj
b2duaXplcik7CiAKICAgICBpZiAoIVtzZWxmIGlzRmlyc3RSZXNwb25kZXJdKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLU3ludGhldGljVGFwR2VzdHVyZVJlY29n
bml6ZXIubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tTeW50aGV0aWNUYXBHZXN0
dXJlUmVjb2duaXplci5tbQppbmRleCA2MGZiY2FkMGJmNTE3OGE0MDkxYTg3MjhlMzllYTY5MzUy
MzlhY2Q4Li5mMTBjOTg1NzQ3MjViNWIyYTc3ZTU2Y2VjYmQxYjAyZDA3M2EzMGRkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tTeW50aGV0aWNUYXBHZXN0dXJlUmVj
b2duaXplci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tTeW50aGV0aWNU
YXBHZXN0dXJlUmVjb2duaXplci5tbQpAQCAtNjgsNiArNjgsMTIgQEAgLSAodm9pZClzZXRTdGF0
ZTooVUlHZXN0dXJlUmVjb2duaXplclN0YXRlKXN0YXRlCiAgICAgZWxzZSBpZiAoc3RhdGUgPT0g
VUlHZXN0dXJlUmVjb2duaXplclN0YXRlRmFpbGVkKQogICAgICAgICBbX2dlc3R1cmVGYWlsZWRU
YXJnZXQgcGVyZm9ybVNlbGVjdG9yOl9nZXN0dXJlRmFpbGVkQWN0aW9uIHdpdGhPYmplY3Q6c2Vs
Zl07CiAgICAgW3N1cGVyIHNldFN0YXRlOnN0YXRlXTsKKyAgICBpZiAoc3RhdGUgPT0gVUlHZXN0
dXJlUmVjb2duaXplclN0YXRlRW5kZWQgJiYgc2VsZi5zdGF0ZSA9PSBVSUdlc3R1cmVSZWNvZ25p
emVyU3RhdGVGYWlsZWQpIHsKKyAgICAgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiAqKiogU0lOR0xF
IFRBUCBGQUlMRUQgVE8gUkVDT0dOSVpFISAlQCAqKioiLCBzZWxmKTsKKyAgICAgICAgZm9yIChO
U1N0cmluZyAqcyBpbiBbTlNUaHJlYWQgY2FsbFN0YWNrU3ltYm9sc10pCisgICAgICAgICAgICBX
VEZMb2dBbHdheXMoIjxXSz46ICVAIiwgcyk7CisgICAgICAgIFdURkxvZ0Fsd2F5cygiPFdLPjog
Iik7CisgICAgfQogfQogCiAtICh2b2lkKXJlc2V0CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VM
b2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZDc2YTJjMjNkMTE0OTQ3Y2QxYjE4OTcwZDNmODU0
OTk2MGMxODQ4Mi4uYzdlMDk0MzdjZmIxYWYyMjRhMDdmNDQwODYzYjVlZGNhMjdiZDFhMSAxMDA2
NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE2IEBACisyMDIwLTA3LTI0ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29t
PgorCisgICAgICAgIFJFR1JFU1NJT04gKHIyNjQ2OTApOiBbIGlPUyB3azIgXSBlZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBpcyBh
IGZsYWt5IGZhaWx1cmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxNDY4OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjU5OTM2ODM+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVu
bmVyL1Rlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OnJ1
blRlc3QpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvaW9zL1VJU2NyaXB0Q29udHJvbGxl
cklPUy5tbToKKyAgICAgICAgKFdUUjo6VUlTY3JpcHRDb250cm9sbGVySU9TOjpzaW5nbGVUYXBB
dFBvaW50V2l0aE1vZGlmaWVycyk6CisKIDIwMjAtMDctMjMgIFdlbnNvbiBIc2llaCAgPHdlbnNv
bl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgVGFwcGluZyBRdWlja1R5cGUgc3VnZ2VzdGlv
bnMgZm9yIGEgbWlzc3BlbGxlZCB3b3JkIGRvZXMgbm90aGluZyBpbiBNYWlsIGNvbXBvc2UKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwIGIvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKaW5kZXggMWIxN2JhYTg1ZTc5
Y2RlMmJiYTRmNDgwZGYzODc0YTZhYWM3MzUyMy4uN2VlYjg1ZDAzYjM1OGNkMTUzNjAxOThhMDY3
ZThhOGZjODlmYTkyYSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29u
dHJvbGxlci5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5j
cHAKQEAgLTE4MjMsNiArMTgyMyw4IEBAIGJvb2wgVGVzdENvbnRyb2xsZXI6OnJ1blRlc3QoY29u
c3QgY2hhciogaW5wdXRMaW5lKQogICAgIFdLUmV0YWluUHRyPFdLVVJMUmVmPiB3a1VSTCA9IGFk
b3B0V0soY3JlYXRlVGVzdFVSTChjb21tYW5kLnBhdGhPclVSTC5jX3N0cigpKSk7CiAgICAgbV9j
dXJyZW50SW52b2NhdGlvbiA9IG1ha2VVbmlxdWU8VGVzdEludm9jYXRpb24+KHdrVVJMLmdldCgp
LCBvcHRpb25zKTsKIAorICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogUnVubmluZyAlcyIsIGNvbW1h
bmQucGF0aE9yVVJMLmNfc3RyKCkpOworCiAgICAgaWYgKGNvbW1hbmQuc2hvdWxkRHVtcFBpeGVs
cyB8fCBtX3Nob3VsZER1bXBQaXhlbHNGb3JBbGxUZXN0cykKICAgICAgICAgbV9jdXJyZW50SW52
b2NhdGlvbi0+c2V0SXNQaXhlbFRlc3QoY29tbWFuZC5leHBlY3RlZFBpeGVsSGFzaCk7CiAKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1VJU2NyaXB0Q29udHJvbGxlcklP
Uy5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1VJU2NyaXB0Q29udHJvbGxlcklPUy5t
bQppbmRleCA3ZmFlZTY0NDVhNzBiZWEwMWNlNDQxMjNiNzcxNjg4MzA2MDJkM2I2Li4wZGY1NGU2
NDkwM2U4N2FkZjdkZDFjM2QzMDdkZDMzMWY4NzJjNmM0IDEwMDY0NAotLS0gYS9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL2lvcy9VSVNjcmlwdENvbnRyb2xsZXJJT1MubW0KKysrIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9pb3MvVUlTY3JpcHRDb250cm9sbGVySU9TLm1tCkBAIC0zMDMsNiArMzAz
LDcgQEAgdm9pZCBVSVNjcmlwdENvbnRyb2xsZXJJT1M6OnNpbmdsZVRhcEF0UG9pbnRXaXRoTW9k
aWZpZXJzKFdlYkNvcmU6OkZsb2F0UG9pbnQgbG8KICAgICBmb3IgKGF1dG8mIG1vZGlmaWVyRmxh
ZyA6IG1vZGlmaWVyRmxhZ3MpCiAgICAgICAgIFtbSElERXZlbnRHZW5lcmF0b3Igc2hhcmVkSElE
RXZlbnRHZW5lcmF0b3JdIGtleURvd246bW9kaWZpZXJGbGFnXTsKIAorICAgIFdURkxvZ0Fsd2F5
cygiPFdLPjogU2VuZGluZyBzaW5nbGUgdGFwIGF0ICglLjBmLCAlLjBmKSIsIF9fUFJFVFRZX0ZV
TkNUSU9OX18sIGxvY2F0aW9uLngoKSwgbG9jYXRpb24ueSgpKTsKICAgICBbW0hJREV2ZW50R2Vu
ZXJhdG9yIHNoYXJlZEhJREV2ZW50R2VuZXJhdG9yXSB0YXA6Z2xvYmFsVG9Db250ZW50Q29vcmRp
bmF0ZXMod2ViVmlldygpLCBsb2NhdGlvbi54KCksIGxvY2F0aW9uLnkoKSkgY29tcGxldGlvbkJs
b2NrOlt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZlB0cigqdGhpcyksIG1vZGlmaWVyRmxh
Z3MgPSBXVEZNb3ZlKG1vZGlmaWVyRmxhZ3MpLCBibG9jayA9IFdURk1vdmUoYmxvY2spXSAoKSBt
dXRhYmxlIHsKICAgICAgICAgaWYgKCFtX2NvbnRleHQpCiAgICAgICAgICAgICByZXR1cm47CkBA
IC0zMTEsNiArMzEyLDcgQEAgdm9pZCBVSVNjcmlwdENvbnRyb2xsZXJJT1M6OnNpbmdsZVRhcEF0
UG9pbnRXaXRoTW9kaWZpZXJzKFdlYkNvcmU6OkZsb2F0UG9pbnQgbG8KICAgICAgICAgICAgIFtb
SElERXZlbnRHZW5lcmF0b3Igc2hhcmVkSElERXZlbnRHZW5lcmF0b3JdIGtleVVwOm1vZGlmaWVy
RmxhZ3NbaV1dOwogICAgICAgICB9CiAgICAgICAgIFtbSElERXZlbnRHZW5lcmF0b3Igc2hhcmVk
SElERXZlbnRHZW5lcmF0b3JdIHNlbmRNYXJrZXJISURFdmVudFdpdGhDb21wbGV0aW9uQmxvY2s6
YmxvY2suZ2V0KCldOworICAgICAgICBXVEZMb2dBbHdheXMoIjxXSz46IC4uLmRvbmUgc2VuZGlu
ZyBzaW5nbGUgdGFwLiIpOwogICAgIH1dOwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZTM3Mjk5ODYwNjcyOWRmMDNh
ZWRjNzM3Yzc4MjFiMTRjZmE0OWMyOS4uOTYwMTMzODBkYTIwZmE3MGYzY2Y0ZDlkNjI3ZmYxZTJk
MWIyYWExZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExIEBACisyMDIwLTA3LTI0ICBXZW5zb24gSHNpZWgg
IDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04gKHIyNjQ2OTAp
OiBbIGlPUyB3azIgXSBlZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24uaHRtbCBpcyBhIGZsYWt5IGZhaWx1cmUKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNDY4OAorICAgICAgICA8cmRhcjovL3By
b2JsZW0vNjU5OTM2ODM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
IDIwMjAtMDctMjMgIEphbWVzIERhcnBpbmlhbiAgPGpkYXJwaW5pYW5AY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFtXZWJHTDJdIFF1ZXJ5IE9iamVjdHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL2FicS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYWJxLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2FicS1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL2FicS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2FicS1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYWJxLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYWJ2LXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9hYnYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vYWJ2LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYWJ2LXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vYWJ2LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9hYnYtc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9hbXctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Ftdy1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9hbXctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9hbXctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9hbXctc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL2Ftdy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24u
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2F1Zy1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vYXVnLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2F1Zy1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2F1Zy1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2F1
Zy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYXVnLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYXdy
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9hd3Itc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vYXdyLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYXdy
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vYXdyLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9hd3Itc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9iYmYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2JiZi1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9iYmYtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9iYmYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9iYmYtc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2JiZi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Jkcy1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vYmRzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL2Jkcy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Jkcy1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL2Jkcy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYmRzLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vYmV6LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9iZXotc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYmV6LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vYmV6LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYmV6LXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9iZXotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9iZ3ktc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL2JneS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9iZ3kt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9iZ3ktc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9i
Z3ktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2JneS1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Jv
ei1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYm96LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL2Jvei1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Jv
ei1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Jvei1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vYm96LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vYnVnLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9idWct
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYnVnLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vYnVnLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYnVnLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9idWctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9id3ctc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL2J3dy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9id3ctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9id3ctc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9id3ctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2J3dy1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL2NlaC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vY2VoLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2NlaC1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL2NlaC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2NlaC1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vY2VoLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vY2ZyLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9jZnItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vY2Zy
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vY2ZyLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
Y2ZyLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9jZnItc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9j
Z20tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2NnbS1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9jZ20tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9j
Z20tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9jZ20tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL2NnbS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL2NvYi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vY29i
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2NvYi1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL2NvYi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2NvYi1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vY29iLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vY3JnLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9jcmctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vY3JnLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vY3JnLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vY3JnLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9jcmctc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9jdWstc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2N1ay1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9jdWstc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9jdWstc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9jdWstc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL2N1ay1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24uaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2N5YS1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vY3lhLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2N5
YS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2N5YS1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L2N5YS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vY3lhLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
Y3l1LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9jeXUtc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vY3l1LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
Y3l1LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vY3l1LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9jeXUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9jemstc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2N6
ay1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9jemstc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9jemstc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9jemstc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2N6ay1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2N6ci1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vY3pyLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL2N6ci1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2N6ci1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL2N6ci1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24u
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vY3pyLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vZGVqLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9kZWotc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZGVqLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vZGVqLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZGVqLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9kZWotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9kZnotc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL2Rmei1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9k
Znotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9kZnotc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9kZnotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Rmei1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L2Rocy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZGhzLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Rocy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L2Rocy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Rocy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vZGhzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZGtuLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9k
a24tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZGtuLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZGtuLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZGtuLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9ka24tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9kdm8tc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL2R2by1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9kdm8tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9kdm8tc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9kdm8tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2R2by1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL2R2eS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZHZ5LXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2R2eS1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL2R2eS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24u
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2R2eS1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vZHZ5LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZHdjLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9kd2Mtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
ZHdjLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZHdjLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vZHdjLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9kd2Mtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9lY2Itc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2VjYi1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9lY2Itc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9lY2Itc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9lY2Itc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL2VjYi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Vnai1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
ZWdqLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Vnai1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Vnai1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Vnai1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZWdqLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZWdxLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9lZ3Etc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vZWdxLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZWdxLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vZWdxLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9lZ3Et
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9lanUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2VqdS1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9lanUtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9lanUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9lanUtc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL2VqdS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24uaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Vqdi1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vZWp2LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L2Vqdi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Vqdi1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL2Vqdi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZWp2LXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vZW9sLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9lb2wtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZW9sLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vZW9sLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZW9sLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9lb2wtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9mZmstc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L2Zmay1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9mZmstc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9mZmstc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9mZmstc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Zmay1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2ZrYS1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZmthLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL2ZrYS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2ZrYS1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL2ZrYS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZmth
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vZmtuLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9ma24tc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZmtuLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vZmtuLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZmtuLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9ma24tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9mcGctc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL2ZwZy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9mcGctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9mcGctc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9mcGctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2ZwZy1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL2ZxYi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZnFiLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2ZxYi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL2ZxYi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2ZxYi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vZnFiLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZnFjLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9mcWMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZnFjLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZnFjLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZnFjLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9mcWMtc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9mcWQtc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2ZxZC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9mcWQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9mcWQtc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9mcWQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Zx
ZC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL2Z1ZC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZnVkLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Z1ZC1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL2Z1ZC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Z1ZC1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vZnVkLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZnloLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9meWgtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vZnloLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZnloLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vZnloLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9meWgtc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9nZWYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2dlZi1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9nZWYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9nZWYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9nZWYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL2dlZi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2dnci1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vZ2dyLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2dnci1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2dnci1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2dnci1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZ2dyLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZ2toLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9na2gtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vZ2toLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZ2toLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vZ2toLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9n
a2gtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9nbXgtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2dteC1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9nbXgtc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9nbXgtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9nbXgtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL2dteC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2dzcy1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vZ3NzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL2dzcy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2dzcy1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL2dzcy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZ3NzLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vZ3drLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9nd2stc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZ3drLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vZ3drLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZ3drLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9nd2stc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9nd3otc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL2d3ei1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9nd3otc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9nd3otc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9nd3ot
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2d3ei1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2d6YS1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZ3phLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL2d6YS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2d6YS1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL2d6YS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
Z3phLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vaGF1LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9oYXUtc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaGF1LXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vaGF1LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaGF1LXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9oYXUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9oYmMtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL2hiYy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9oYmMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9oYmMtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9oYmMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2hiYy1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL2hiZC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaGJkLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2hiZC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL2hiZC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2hiZC1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vaGJkLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaGd0LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9oZ3Qtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaGd0LXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaGd0LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaGd0
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9oZ3Qtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9oaG4t
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2hobi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9oaG4tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9oaG4t
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9oaG4tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L2hobi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL2hpdC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaGl0LXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2hpdC1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL2hpdC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2hpdC1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaGl0LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaGxpLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9obGktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vaGxpLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaGxpLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vaGxpLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9obGktc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9ob3gtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2hveC1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9ob3gtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9ob3gtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9ob3gtc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL2hveC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24u
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2h2ZC1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vaHZkLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2h2ZC1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2h2ZC1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2h2
ZC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaHZkLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaHhp
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9oeGktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vaHhpLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaHhp
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vaHhpLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9oeGktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9oenYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2h6di1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9oenYtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9oenYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9oenYtc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2h6di1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2ljZy1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vaWNnLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL2ljZy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2ljZy1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL2ljZy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaWNnLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vaWd0LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9pZ3Qtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaWd0LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vaWd0LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaWd0LXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9pZ3Qtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9paGQtc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL2loZC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9paGQt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9paGQtc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9p
aGQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2loZC1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2ls
eS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaWx5LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL2lseS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2ls
eS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL2lseS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vaWx5LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vaW1iLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9pbWIt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaW1iLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vaW1iLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaW1iLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9pbWItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9pbXEtc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL2ltcS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9pbXEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9pbXEtc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9pbXEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2ltcS1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL2lxZi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaXFmLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2lxZi1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL2lxZi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2lxZi1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vaXFmLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaXNxLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9pc3Etc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaXNx
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaXNxLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
aXNxLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9pc3Etc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9p
dGktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2l0aS1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9pdGktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9p
dGktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9pdGktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL2l0aS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL2l6YS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaXph
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2l6YS1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL2l6YS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2l6YS1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaXphLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaXp6LXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9penotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vaXp6LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaXp6LXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vaXp6LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9penotc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9qYngtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2pieC1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9qYngtc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9qYngtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9qYngtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL2pieC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24uaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2ptYi1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vam1iLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2pt
Yi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2ptYi1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L2ptYi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vam1iLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
anFwLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9qcXAtc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vanFwLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
anFwLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vanFwLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9qcXAtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9qdWMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2p1
Yy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9qdWMtc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9qdWMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9qdWMtc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2p1Yy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2p2aC1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vanZoLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL2p2aC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2p2aC1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL2p2aC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24u
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vanZoLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vanhwLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9qeHAtc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vanhwLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vanhwLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vanhwLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9qeHAtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9qenQtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL2p6dC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9q
enQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9qenQtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9qenQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2p6dC1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L2tiYy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24va2JjLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL2tiYy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L2tiYy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2tiYy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24va2JjLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24va2t6LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9r
a3otc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24va2t6LXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24va2t6LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24va2t6LXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9ra3otc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9rbHAtc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL2tscC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9rbHAtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9rbHAtc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9rbHAtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2tscC1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL2tueC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24va254LXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2tueC1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL2tueC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24u
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2tueC1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24va254LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24va3J0LXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9rcnQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
a3J0LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24va3J0LXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24va3J0LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9rcnQtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9sYngtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2xieC1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9sYngtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9sYngtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9sYngtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL2xieC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2xkcy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
bGRzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2xkcy1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2xkcy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2xkcy1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbGRzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbGdnLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9sZ2ctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vbGdnLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbGdnLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vbGdnLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9sZ2ct
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9sZ28tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2xnby1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9sZ28tc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9sZ28tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9sZ28tc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL2xnby1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24uaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2xndi1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vbGd2LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L2xndi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2xndi1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL2xndi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbGd2LXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vbGtkLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9sa2Qtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbGtkLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vbGtkLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbGtkLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9sa2Qtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9scHItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L2xwci1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9scHItc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9scHItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9scHItc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2xwci1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2x0YS1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbHRhLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL2x0YS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2x0YS1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL2x0YS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbHRh
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vbHZkLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9sdmQtc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbHZkLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vbHZkLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbHZkLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9sdmQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9sdmstc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL2x2ay1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9sdmstc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9sdmstc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9sdmstc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2x2ay1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL2x2dy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbHZ3LXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2x2dy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL2x2dy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2x2dy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vbHZ3LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbHZ6LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9sdnotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbHZ6LXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbHZ6LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbHZ6LXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9sdnotc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9seG0tc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2x4bS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9seG0tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9seG0tc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9seG0tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2x4
bS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL2x6dC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbHp0LXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2x6dC1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL2x6dC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2x6dC1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vbHp0LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbWFnLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9tYWctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vbWFnLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbWFnLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vbWFnLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9tYWctc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9tZGEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL21kYS1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9tZGEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9tZGEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9tZGEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL21kYS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL21mcS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vbWZxLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL21mcS1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL21mcS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL21mcS1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbWZxLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbWhqLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9taGotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vbWhqLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbWhqLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vbWhqLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9t
aGotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9tbHgtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL21seC1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9tbHgtc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9tbHgtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9tbHgtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL21seC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL21ueC1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vbW54LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL21ueC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL21ueC1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL21ueC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbW54LXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vbW9hLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9tb2Etc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbW9hLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vbW9hLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbW9hLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9tb2Etc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9tcmUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL21yZS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9tcmUtc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9tcmUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9tcmUt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL21yZS1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL212YS1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbXZhLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL212YS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL212YS1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL212YS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
bXZhLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vbXhyLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9teHItc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbXhyLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vbXhyLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbXhyLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9teHItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9uaHYtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL25odi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9uaHYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9uaHYtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9uaHYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL25odi1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL25pZS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbmllLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL25pZS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL25pZS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL25pZS1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vbmllLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbm5oLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9ubmgtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbm5oLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbm5oLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbm5o
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9ubmgtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9udWUt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL251ZS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9udWUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9udWUt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9udWUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L251ZS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL252cy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbnZzLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL252cy1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL252cy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL252cy1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbnZzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbnhlLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9ueGUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vbnhlLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbnhlLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vbnhlLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9ueGUtc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9ueWEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL255YS1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9ueWEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9ueWEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9ueWEtc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL255YS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24u
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL255bS1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vbnltLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL255bS1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL255bS1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL255
bS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbnltLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vb2F1
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9vYXUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vb2F1LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vb2F1
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vb2F1LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9vYXUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9vYXgtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL29heC1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9vYXgtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9vYXgtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9vYXgtc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL29heC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL29jay1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vb2NrLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL29jay1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL29jay1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL29jay1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vb2NrLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vb2NtLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9vY20tc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vb2NtLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vb2NtLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vb2NtLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9vY20tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9vZngtc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL29meC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9vZngt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9vZngtc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9v
Zngtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL29meC1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL29n
cy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vb2dzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL29ncy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL29n
cy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL29ncy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vb2dzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vb2d1LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9vZ3Ut
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vb2d1LXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vb2d1LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vb2d1LXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9vZ3Utc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9vbHgtc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL29seC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9vbHgtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9vbHgtc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9vbHgtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL29seC1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL29tZS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vb21lLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL29tZS1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL29tZS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL29tZS1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vb21lLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vb3JtLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9vcm0tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vb3Jt
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vb3JtLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
b3JtLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9vcm0tc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9v
dWUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL291ZS1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9vdWUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9v
dWUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9vdWUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL291ZS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL294eC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vb3h4
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL294eC1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL294eC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL294eC1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vb3h4LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcGF2LXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9wYXYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vcGF2LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcGF2LXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vcGF2LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9wYXYtc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9wYnktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3BieS1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9wYnktc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9wYnktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9wYnktc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3BieS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24uaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3BjaS1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vcGNpLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Bj
aS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3BjaS1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3BjaS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcGNpLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
cGl4LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9waXgtc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vcGl4LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
cGl4LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcGl4LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9waXgtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9wa2Ytc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Br
Zi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9wa2Ytc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9wa2Ytc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9wa2Ytc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3BrZi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3BrbC1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vcGtsLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3BrbC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3BrbC1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3BrbC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24u
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcGtsLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vcG9nLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9wb2ctc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcG9nLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vcG9nLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcG9nLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9wb2ctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9wdGQtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3B0ZC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9w
dGQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9wdGQtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9wdGQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3B0ZC1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3B4dS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcHh1LXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3B4dS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3B4dS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3B4dS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vcHh1LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcWVqLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9x
ZWotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcWVqLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcWVqLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcWVqLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9xZWotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9xZmwtc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3FmbC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9xZmwtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9xZmwtc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9xZmwtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3FmbC1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3Fpei1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcWl6LXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Fpei1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3Fpei1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24u
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Fpei1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vcWl6LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcWpxLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9xanEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
cWpxLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcWpxLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vcWpxLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9xanEtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9xcHUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3FwdS1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9xcHUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9xcHUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9xcHUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3FwdS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3F1cy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
cXVzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3F1cy1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3F1cy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3F1cy1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcXVzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcXpkLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9xemQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vcXpkLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcXpkLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vcXpkLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9xemQt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9yYWotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Jhai1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9yYWotc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9yYWotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9yYWotc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3Jhai1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24uaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3JjdC1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vcmN0LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3JjdC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3JjdC1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3JjdC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcmN0LXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vcmR1LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9yZHUtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcmR1LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vcmR1LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcmR1LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9yZHUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zYmItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NiYi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zYmItc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zYmItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zYmItc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NiYi1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NicC1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2JwLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NicC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NicC1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NicC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2Jw
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2VnLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zZWctc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2VnLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2VnLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2VnLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zZWctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zanEtc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NqcS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zanEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zanEtc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zanEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NqcS1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NrYy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2tjLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NrYy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NrYy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NrYy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2tjLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2tlLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9za2Utc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2tlLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2tlLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2tlLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9za2Utc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zbXYtc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Ntdi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zbXYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zbXYtc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zbXYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Nt
di1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3Nydy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc3J3LXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Nydy1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3Nydy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Nydy1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc3J3LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdGRtLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi90ZG0tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vdGRtLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdGRtLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vdGRtLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi90ZG0tc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi90ZnItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Rmci1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi90ZnItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi90ZnItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi90ZnItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3Rmci1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3RpaS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vdGlpLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3RpaS1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3RpaS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3RpaS1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdGlpLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdGl2LXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi90aXYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vdGl2LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdGl2LXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vdGl2LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi90
aXYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi90bWEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3RtYS1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi90bWEtc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi90bWEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi90bWEtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3RtYS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3R1Yy1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vdHVjLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3R1Yy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3R1Yy1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3R1Yy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdHVjLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vdHZsLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi90dmwtc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdHZsLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vdHZsLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdHZsLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi90dmwtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi90emMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3R6Yy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi90emMtc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi90emMtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi90emMt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3R6Yy1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Vlcy1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdWVzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3Vlcy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Vlcy1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3Vlcy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
dWVzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vdWlrLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi91aWstc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdWlrLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vdWlrLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdWlrLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi91aWstc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi91a2wtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3VrbC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi91a2wtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi91a2wtc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi91a2wtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3VrbC1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3VsaC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdWxoLXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3VsaC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3VsaC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3VsaC1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vdWxoLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdW5mLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi91bmYtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdW5mLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdW5mLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdW5m
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi91bmYtc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi91cG0t
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3VwbS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi91cG0tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi91cG0t
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi91cG0tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3VwbS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3ZjcC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdmNwLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3ZjcC1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3ZjcC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3ZjcC1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdmNwLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdmh0LXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi92aHQtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vdmh0LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdmh0LXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vdmh0LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi92aHQtc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi92amItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3ZqYi1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi92amItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi92amItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi92amItc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3ZqYi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24u
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3ZsaS1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vdmxpLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3ZsaS1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3ZsaS1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Zs
aS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdmxpLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdm1w
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi92bXAtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vdm1wLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdm1w
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vdm1wLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi92bXAtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi92b3Itc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Zvci1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi92b3Itc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi92b3Itc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi92b3Itc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Zvci1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Z2ei1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vdnZ6LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3Z2ei1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Z2ei1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3Z2ei1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdnZ6LXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vd2NpLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi93Y2ktc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vd2NpLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vd2NpLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vd2NpLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi93Y2ktc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi93cHItc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3dwci1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi93cHIt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi93cHItc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi93
cHItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3dwci1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3dy
ZC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vd3JkLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3dyZC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3dy
ZC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3dyZC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vd3JkLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vd3pyLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi93enIt
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vd3pyLXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vd3pyLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vd3pyLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi93enItc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi94ZHEtc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3hkcS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi94ZHEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi94ZHEtc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi94ZHEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3hkcS1zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3hudy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24veG53LXNoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3hudy1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3hudy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3hudy1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24veG53LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24veHFqLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi94cWotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24veHFq
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24veHFqLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
eHFqLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi94cWotc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi95
YmUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3liZS1zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi95YmUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi95
YmUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi95YmUtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3liZS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3ljZS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24veWNl
LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3ljZS1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3ljZS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3ljZS1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24veWNlLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24veWNqLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi95Y2otc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24veWNqLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24veWNqLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24veWNqLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi95Y2otc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi95ZGstc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3lkay1zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi95ZGstc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi95ZGstc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi95ZGstc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3lkay1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24uaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3lkei1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24veWR6LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3lk
ei1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3lkei1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3lkei1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24veWR6LXNoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
eWp6LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi95anotc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24veWp6LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
eWp6LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24veWp6LXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi95anotc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi95a2Mtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3lr
Yy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi95a2Mtc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi95a2Mtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi95a2Mtc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3lrYy1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3lvcC1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24veW9wLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3lvcC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3lvcC1zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3lvcC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24u
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24veW9wLXNo
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24veXZhLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi95dmEtc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24veXZhLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24veXZhLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24veXZhLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi95dmEtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi95eW8tc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3l5by1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi95
eW8tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi95eW8tc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi95eW8tc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3l5by1zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3l6cS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24veXpxLXNoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3l6cS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3l6cS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3l6cS1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24veXpxLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vemdzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi96
Z3Mtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vemdzLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vemdzLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vemdzLXNoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi96Z3Mtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi96cmgtc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3pyaC1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi96cmgtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi96cmgtc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi96cmgtc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3pyaC1z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3pybi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24venJuLXNoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3pybi1zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3pybi1zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24u
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3pybi1zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24venJuLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24venRnLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi96dGctc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
enRnLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24venRnLXNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24venRnLXNoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi96dGctc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405175</attachid>
            <date>2020-07-24 14:32:23 -0700</date>
            <delta_ts>2020-07-24 14:32:23 -0700</delta_ts>
            <desc>Data collection (2)</desc>
            <filename>bug-214688-20200724143216.patch</filename>
            <type>text/plain</type>
            <size>2992204</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0ODU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGQ3ZDQ0Mzk0NWQ0N2U0Nzk4
ZGQ4NWRmYTA2OTI0MWVhOGQ4MDU3YjUuLjc4NTQxMjFlMWY2ZDc1NzQwNmU2NzI5YjRiMzZlN2Vi
M2JiN2M0ODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMDctMjQgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTiAocjI2
NDY5MCk6IFsgaU9TIHdrMiBdIGVkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGlzIGEgZmxha3kgZmFpbHVyZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0Njg4CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS82NTk5MzY4Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1t
OgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9zaW5nbGVUYXBJZGVudGlmaWVkOl0pOgorICAg
ICAgICAoLVtXS0NvbnRlbnRWaWV3IF9zaW5nbGVUYXBSZWNvZ25pemVkOl0pOgorICAgICAgICAq
IFVJUHJvY2Vzcy9pb3MvV0tTeW50aGV0aWNUYXBHZXN0dXJlUmVjb2duaXplci5tbToKKyAgICAg
ICAgKC1bV0tTeW50aGV0aWNUYXBHZXN0dXJlUmVjb2duaXplciBzZXRTdGF0ZTpdKToKKwogMjAy
MC0wNy0yNCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIENyYXNo
IHVuZGVyIFByZWNvbm5lY3RUYXNrOjpzdGFydCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQppbmRleCBiMDQxYzI5
MjkxZTJhM2MyODY3NjM2OWI1MDBjZmMxYzcyOTY1ZDZlLi4xYTc0ZjljODUyMDJhOWU3Y2FhODNk
MjE1MzcyN2M4MzA0NjIwN2Q4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9p
b3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KQEAgLTI3MjgsNiArMjcyOCw3IEBA
IC0gKHZvaWQpX2VuZFBvdGVudGlhbFRhcEFuZEVuYWJsZURvdWJsZVRhcEdlc3R1cmVzSWZOZWNl
c3NhcnkKIAogLSAodm9pZClfc2luZ2xlVGFwSWRlbnRpZmllZDooVUlUYXBHZXN0dXJlUmVjb2du
aXplciAqKWdlc3R1cmVSZWNvZ25pemVyCiB7CisgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiAlcyIs
IF9fUFJFVFRZX0ZVTkNUSU9OX18pOwogICAgIEFTU0VSVChnZXN0dXJlUmVjb2duaXplciA9PSBf
c2luZ2xlVGFwR2VzdHVyZVJlY29nbml6ZXIpOwogICAgIEFTU0VSVCghX3BvdGVudGlhbFRhcElu
UHJvZ3Jlc3MpOwogICAgIFtzZWxmIF9yZXNldElzRG91YmxlVGFwUGVuZGluZ107CkBAIC0yODAz
LDYgKzI4MDQsNyBAQCAtICh2b2lkKV9kaWRDb21wbGV0ZVN5bnRoZXRpY0NsaWNrCiAKIC0gKHZv
aWQpX3NpbmdsZVRhcFJlY29nbml6ZWQ6KFVJVGFwR2VzdHVyZVJlY29nbml6ZXIgKilnZXN0dXJl
UmVjb2duaXplcgogeworICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogJXMiLCBfX1BSRVRUWV9GVU5D
VElPTl9fKTsKICAgICBBU1NFUlQoZ2VzdHVyZVJlY29nbml6ZXIgPT0gX3NpbmdsZVRhcEdlc3R1
cmVSZWNvZ25pemVyKTsKIAogICAgIGlmICghW3NlbGYgaXNGaXJzdFJlc3BvbmRlcl0pCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tTeW50aGV0aWNUYXBHZXN0dXJl
UmVjb2duaXplci5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1N5bnRoZXRpY1Rh
cEdlc3R1cmVSZWNvZ25pemVyLm1tCmluZGV4IDYwZmJjYWQwYmY1MTc4YTQwOTFhODcyOGUzOWVh
NjkzNTIzOWFjZDguLmYxMGM5ODU3NDcyNWI1YjJhNzdlNTZjZWNiZDFiMDJkMDczYTMwZGQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1N5bnRoZXRpY1RhcEdlc3R1
cmVSZWNvZ25pemVyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1N5bnRo
ZXRpY1RhcEdlc3R1cmVSZWNvZ25pemVyLm1tCkBAIC02OCw2ICs2OCwxMiBAQCAtICh2b2lkKXNl
dFN0YXRlOihVSUdlc3R1cmVSZWNvZ25pemVyU3RhdGUpc3RhdGUKICAgICBlbHNlIGlmIChzdGF0
ZSA9PSBVSUdlc3R1cmVSZWNvZ25pemVyU3RhdGVGYWlsZWQpCiAgICAgICAgIFtfZ2VzdHVyZUZh
aWxlZFRhcmdldCBwZXJmb3JtU2VsZWN0b3I6X2dlc3R1cmVGYWlsZWRBY3Rpb24gd2l0aE9iamVj
dDpzZWxmXTsKICAgICBbc3VwZXIgc2V0U3RhdGU6c3RhdGVdOworICAgIGlmIChzdGF0ZSA9PSBV
SUdlc3R1cmVSZWNvZ25pemVyU3RhdGVFbmRlZCAmJiBzZWxmLnN0YXRlID09IFVJR2VzdHVyZVJl
Y29nbml6ZXJTdGF0ZUZhaWxlZCkgeworICAgICAgICBXVEZMb2dBbHdheXMoIjxXSz46ICoqKiBT
SU5HTEUgVEFQIEZBSUxFRCBUTyBSRUNPR05JWkUhICVAICoqKiIsIHNlbGYpOworICAgICAgICBm
b3IgKE5TU3RyaW5nICpzIGluIFtOU1RocmVhZCBjYWxsU3RhY2tTeW1ib2xzXSkKKyAgICAgICAg
ICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogJUAiLCBzKTsKKyAgICAgICAgV1RGTG9nQWx3YXlzKCI8
V0s+OiAiKTsKKyAgICB9CiB9CiAKIC0gKHZvaWQpcmVzZXQKZGlmZiAtLWdpdCBhL1Rvb2xzL0No
YW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBiN2ZjZmM5NDQxOWY3ZGVhZWQzMWEyNTYz
NWUzZTJjMzBmY2Y4MWM1Li5iNzJmZjM0MDc4NzExYjc5NTA2YTI5N2EyMDdkYmNhNWFmY2FhYjVi
IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTYgQEAKKzIwMjAtMDctMjQgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBs
ZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTiAocjI2NDY5MCk6IFsgaU9TIHdrMiBdIGVkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
IGlzIGEgZmxha3kgZmFpbHVyZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjE0Njg4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82NTk5MzY4Mz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYktpdFRl
c3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxl
cjo6cnVuVGVzdCk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlTY3JpcHRDb250
cm9sbGVySU9TLm1tOgorICAgICAgICAoV1RSOjpVSVNjcmlwdENvbnRyb2xsZXJJT1M6OnNpbmds
ZVRhcEF0UG9pbnRXaXRoTW9kaWZpZXJzKToKKwogMjAyMC0wNy0yNCAgWW91ZW5uIEZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHNvbWUgbG9nZ2luZyB0byBkZWJ1ZyBX
ZWJLaXQuUXVvdGFEZWxlZ2F0ZSB0ZXN0IHRoYXQgdGltZXMgb3V0IG9uIGEgRGVidWcgYm90CmRp
ZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcCBiL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCmluZGV4IDFiMTdiYWE4NWU3
OWNkZTJiYmE0ZjQ4MGRmMzg3NGE2YWFjNzM1MjMuLjdlZWI4NWQwM2IzNThjZDE1MzYwMTk4YTA2
N2U4YThmYzg5ZmE5MmEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENv
bnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIu
Y3BwCkBAIC0xODIzLDYgKzE4MjMsOCBAQCBib29sIFRlc3RDb250cm9sbGVyOjpydW5UZXN0KGNv
bnN0IGNoYXIqIGlucHV0TGluZSkKICAgICBXS1JldGFpblB0cjxXS1VSTFJlZj4gd2tVUkwgPSBh
ZG9wdFdLKGNyZWF0ZVRlc3RVUkwoY29tbWFuZC5wYXRoT3JVUkwuY19zdHIoKSkpOwogICAgIG1f
Y3VycmVudEludm9jYXRpb24gPSBtYWtlVW5pcXVlPFRlc3RJbnZvY2F0aW9uPih3a1VSTC5nZXQo
KSwgb3B0aW9ucyk7CiAKKyAgICBXVEZMb2dBbHdheXMoIjxXSz46IFJ1bm5pbmcgJXMiLCBjb21t
YW5kLnBhdGhPclVSTC5jX3N0cigpKTsKKwogICAgIGlmIChjb21tYW5kLnNob3VsZER1bXBQaXhl
bHMgfHwgbV9zaG91bGREdW1wUGl4ZWxzRm9yQWxsVGVzdHMpCiAgICAgICAgIG1fY3VycmVudElu
dm9jYXRpb24tPnNldElzUGl4ZWxUZXN0KGNvbW1hbmQuZXhwZWN0ZWRQaXhlbEhhc2gpOwogCmRp
ZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9VSVNjcmlwdENvbnRyb2xsZXJJ
T1MubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9VSVNjcmlwdENvbnRyb2xsZXJJT1Mu
bW0KaW5kZXggN2ZhZWU2NDQ1YTcwYmVhMDFjZTQ0MTIzYjc3MTY4ODMwNjAyZDNiNi4uMGRmNTRl
NjQ5MDNlODdhZGY3ZGQxYzNkMzA3ZGQzMzFmODcyYzZjNCAxMDA2NDQKLS0tIGEvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9pb3MvVUlTY3JpcHRDb250cm9sbGVySU9TLm1tCisrKyBiL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvaW9zL1VJU2NyaXB0Q29udHJvbGxlcklPUy5tbQpAQCAtMzAzLDYgKzMw
Myw3IEBAIHZvaWQgVUlTY3JpcHRDb250cm9sbGVySU9TOjpzaW5nbGVUYXBBdFBvaW50V2l0aE1v
ZGlmaWVycyhXZWJDb3JlOjpGbG9hdFBvaW50IGxvCiAgICAgZm9yIChhdXRvJiBtb2RpZmllckZs
YWcgOiBtb2RpZmllckZsYWdzKQogICAgICAgICBbW0hJREV2ZW50R2VuZXJhdG9yIHNoYXJlZEhJ
REV2ZW50R2VuZXJhdG9yXSBrZXlEb3duOm1vZGlmaWVyRmxhZ107CiAKKyAgICBXVEZMb2dBbHdh
eXMoIjxXSz46IFNlbmRpbmcgc2luZ2xlIHRhcCBhdCAoJS4wZiwgJS4wZikiLCBfX1BSRVRUWV9G
VU5DVElPTl9fLCBsb2NhdGlvbi54KCksIGxvY2F0aW9uLnkoKSk7CiAgICAgW1tISURFdmVudEdl
bmVyYXRvciBzaGFyZWRISURFdmVudEdlbmVyYXRvcl0gdGFwOmdsb2JhbFRvQ29udGVudENvb3Jk
aW5hdGVzKHdlYlZpZXcoKSwgbG9jYXRpb24ueCgpLCBsb2NhdGlvbi55KCkpIGNvbXBsZXRpb25C
bG9jazpbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWZQdHIoKnRoaXMpLCBtb2RpZmllckZs
YWdzID0gV1RGTW92ZShtb2RpZmllckZsYWdzKSwgYmxvY2sgPSBXVEZNb3ZlKGJsb2NrKV0gKCkg
bXV0YWJsZSB7CiAgICAgICAgIGlmICghbV9jb250ZXh0KQogICAgICAgICAgICAgcmV0dXJuOwpA
QCAtMzExLDYgKzMxMiw3IEBAIHZvaWQgVUlTY3JpcHRDb250cm9sbGVySU9TOjpzaW5nbGVUYXBB
dFBvaW50V2l0aE1vZGlmaWVycyhXZWJDb3JlOjpGbG9hdFBvaW50IGxvCiAgICAgICAgICAgICBb
W0hJREV2ZW50R2VuZXJhdG9yIHNoYXJlZEhJREV2ZW50R2VuZXJhdG9yXSBrZXlVcDptb2RpZmll
ckZsYWdzW2ldXTsKICAgICAgICAgfQogICAgICAgICBbW0hJREV2ZW50R2VuZXJhdG9yIHNoYXJl
ZEhJREV2ZW50R2VuZXJhdG9yXSBzZW5kTWFya2VySElERXZlbnRXaXRoQ29tcGxldGlvbkJsb2Nr
OmJsb2NrLmdldCgpXTsKKyAgICAgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiAuLi5kb25lIHNlbmRp
bmcgc2luZ2xlIHRhcC4iKTsKICAgICB9XTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDAtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDAu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMDAt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTAwMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEw
MDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDAwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xMDAwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTAxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTAxLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMi5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTEwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTAzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTEwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDQuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xMDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwNS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xMDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTEwNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwNi1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwNi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDcu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwOC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDguaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTEwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwOS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTEwOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwOS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA5Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xMTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExMC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTAtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xMTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTAuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExMS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTExMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExMS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTExMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTExLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTItZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTEyLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMTIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTExMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTMuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExMy5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEx
NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTExNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEx
NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTE0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTUt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE1Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTExNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xMTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTYuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExNi5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTExNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExNy1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTExNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTE3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xMTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE4
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTguaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExOS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xMTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTExOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMi1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIwLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIwLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjAuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xMjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyMS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xMjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTEyMS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyMi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyMi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIyLmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIzLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xMjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyNC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyNS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyNS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTEyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI1Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMjYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjctZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjcu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyNy5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyOC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTEyOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyOC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTEyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjktZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI5LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMy5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTEzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMwLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTEzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTMwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMxLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMi5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTEzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTEzMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzQuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xMzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzNS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xMzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTEzNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzNi1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzNi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzcu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzOC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzguaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTEzOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzOS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTEzOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzOS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEzOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM5Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0MC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDAtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDAuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQxLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDItZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQyLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNDIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDMuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0My5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0
NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0
NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDUt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ1Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xNDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDYuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xNDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0Ni5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0Ny1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0Ny5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTQ3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xNDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ4
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDguaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0OS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE0OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUwLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUwLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTAuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xNTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xNTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE1MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Mi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Mi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUyLmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUzLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xNTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1NC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1NS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE1NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1NS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU1Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xNTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTctZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTcu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Ny5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1OC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTE1OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1OC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTktZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU5LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNi5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYwLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTYwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYxLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xNjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Mi5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTE2My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2My1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTE2My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2My5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xNjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjQuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xNjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2NS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xNjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE2NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Ni5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjcu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2OC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjguaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2OS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE2OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2OS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY5Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3MC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzAtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzAuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTcxLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzItZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTcyLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNzIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzMuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3My5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3
NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE3NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3
NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTc0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzUt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc1Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzYuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xNzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3Ni5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3Ny1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3Ny5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTc3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xNzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc4
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzguaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE3OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTgwLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xODAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTgwLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODAuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE4MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Mi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Mi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTgyLmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTgzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTgzLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
ODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4NC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4NS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE4NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4NS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg1Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xODYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODctZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODcu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Ny5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4OC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTE4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4OC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODktZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg5LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkwLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTkwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
OTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkxLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xOTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xOTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Mi5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTE5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5My1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTE5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5My5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xOTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTQuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xOTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5NS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xOTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE5NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Ni5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTcu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xOTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5OC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xOTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTguaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5OS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5OS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk5Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMi5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjAwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIw
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAwLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yMDEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yMDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yMDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMy5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAzLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMDQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
MDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwNS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIw
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTIwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIw
Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjA2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDgtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTIwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0yMDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwOC5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIwOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwOS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwOS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjA5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjEuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTAtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTAuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yMTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIx
MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTIxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjExLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxMS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTIxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxMS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjEyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjEyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjEyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTIuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yMTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxMy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yMTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIxMy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE0Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE1Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
MTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yMTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTYtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yMTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTYuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTIxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNy5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE3Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTgtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMTguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTIxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTktZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTku
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxOS5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjAtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIwLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIwLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yMjAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjEtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIyMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yMjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyMS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTIyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIyLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTIyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjIyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
MjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjQuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyNC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTIyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI1LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyNS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTIyNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyNS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjI1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI2LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MjI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI2Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjYuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yMjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyNy1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIyNy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MjI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyOC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyOC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI5Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjku
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjMwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIz
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMwLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yMzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yMzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yMzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMy5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIzMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMzLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjM0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIzNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
MzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzNS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIz
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTIzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIz
Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjM2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzgtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTIzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0yMzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzOC5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzOS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzOS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjM5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDAtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDAuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0
MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTI0MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0MS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTI0MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDIuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yNDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0My1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yNDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI0My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0NC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0NC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ1Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
NDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDYtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDYuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0Ny1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTI0Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0Ny5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI0Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ3Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjQ4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDgtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNDguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTI0OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDktZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDku
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0OS5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTAtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUwLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUwLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTEtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yNTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1MS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTI1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUyLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTI1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjUyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
NTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTQuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1NC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTI1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU1LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1NS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTI1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1NS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU2LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MjU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU2Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTYuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yNTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1Ny1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI1Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MjU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1OC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1OC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjU5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU5Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTku
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjYwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2MC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYwLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yNjEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yNjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2Mi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yNjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2My1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2My5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYzLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjY0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNjQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2NS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTI2Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2
Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjY2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjgtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTI2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0yNjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2OC5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2OS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjY5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNy5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzAtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzAuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3
MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTI3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjcxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3MS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTI3MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjcyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjcyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzIuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yNzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3My1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yNzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI3My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3NC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3NC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc0Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc1Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
NzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNzYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzYtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzYuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3Ny1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjc3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTI3Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3Ny5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc3Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzgtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNzguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTI3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzktZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzku
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3OS5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODAtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgwLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgwLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yODAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODEtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
ODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yODEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4MS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTI4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgyLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTI4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjgyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
ODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODQuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4NC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTI4NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg1LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4NS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTI4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4NS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg2LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yODYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Mjg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg2Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODYuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4Ny1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI4Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Mjg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4OC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4OC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg5Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODku
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjktZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5MC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjkwLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjkx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjkx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yOTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yOTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5Mi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yOTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5My1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI5My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5My5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI5My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjkzLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjk0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yOTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI5NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
OTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5NS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTI5Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5
Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjk2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTgtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTI5OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0yOTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yOTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5OC5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI5OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI5OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5OS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjk5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMC5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAwLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzAwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAxLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAxLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDEuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDIuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMw
Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTMwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwMy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTMwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwMy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDQuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zMDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwNS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zMDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTMwNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwNi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwNi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA2Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA3LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwOC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwOS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMwOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwOS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA5Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMx
MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTAtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTAuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxMS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTMxMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxMS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTMxMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzExLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzEyLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzEyLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMTIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTMxMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTMuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxMy5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTMxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTMxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzE0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE1LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE1Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTYtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zMTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTYuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNi5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTMxNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE3LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTMxNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzE3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE4LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zMTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MzE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE4Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTguaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxOS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMxOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIwLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIwLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjAuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zMjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyMS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zMjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjEuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTMyMS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyMi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMy
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIyLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zMjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyNC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyNS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTMyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI1Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjYtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMjYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjct
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyNy5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMy
OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTMyOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMy
OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjkt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI5Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMy5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMy5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMwLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzMwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMxLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMxLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzEuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzIuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMz
Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTMzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzMy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTMzMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzMy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzQuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zMzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzNS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zMzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTMzNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzNi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzNi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM2Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM3LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzOC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzOS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMzOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzOS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMzOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM5Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0
MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDAtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDAuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0MS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0MS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQxLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQyLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQyLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNDIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDMuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0My5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTM0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTM0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ1LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ1Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDYtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zNDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDYuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zNDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0Ni5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ3LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0Ny1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0Ny5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzQ3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ4LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zNDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MzQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ4Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDguaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM0OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUwLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUwLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTAuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zNTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1MS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zNTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTEuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM1MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Mi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUyLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zNTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1NC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1NS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM1NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1NS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU1Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTYtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zNTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTct
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Ny5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1
OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTM1OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1
OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTkt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU5Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNi5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYwLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzYwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYxLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYxLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjEuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zNjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjIuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2
Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTM2My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2My1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTM2My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2My5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zNjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjQuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zNjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2NS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zNjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM2NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2Ni1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2Ni5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY2Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY3LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2OC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2OS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM2OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2OS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY5Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3
MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzAtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzAuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3MS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3MS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzcxLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzcyLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzcyLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNzIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzMuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3My5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTM3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTM3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzc0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc1LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc1Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzYtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzYuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zNzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3Ni5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc3LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3Ny1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3Ny5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzc3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc4LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zNzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Mzc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc4Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzguaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM3OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzgwLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zODAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzgwLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODAuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4MS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODEuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM4MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Mi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzgyLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzgz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzgz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4NC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4NS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM4NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4NS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg1Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODYtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zODYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODct
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Ny5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4
OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTM4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4
OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODkt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg5Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkwLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzkwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zOTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkxLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkxLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTEuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zOTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTIuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zOTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5
Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTM5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5My1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTM5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5My5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zOTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTQuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zOTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5NS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zOTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM5NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5Ni1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5Ni5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk2Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk3LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zOTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5OC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zOTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5OS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5OS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk5Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDAtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDAtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwMC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDAwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQw
MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwMC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDAwLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00MDEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQw
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwMy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwMy5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDAzLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MDQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDUuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00MDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwNS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA2LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDA2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA3Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDgtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi00MDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDguaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwOC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQwOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA5LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwOS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwOS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDA5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDEtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDEuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTAt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00MTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQxMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDExLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxMS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxMS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDEyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDEyLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDEyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTIuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00MTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxMy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00MTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQxMy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQx
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE0Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00MTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00MTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTYtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTYuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNy5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE3Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTgtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MTguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTkuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxOS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQy
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQy
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjAtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIwLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00MjAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjEtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQyMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00MjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyMS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIyLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDIyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00MjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjMuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjQuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQy
NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyNS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQyNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDI1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI2LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI2Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjYuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00MjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyNy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQyNy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyOC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyOC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI4Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI5Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDMtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzMC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDMwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQz
MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzMC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDMwLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00MzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQz
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzMy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzMy5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQzMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDMzLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDM0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQzNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzUuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00MzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzNS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM2LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDM2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM3Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzgtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi00MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzguaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzOC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM5LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzOS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzOS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDM5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDAt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQ0MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQxLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0MS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQ0MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0MS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQyLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDIuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00NDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0My1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ0My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ0Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00NDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0Ni1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDYtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDYuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0Ny1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQ0Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0Ny5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ0Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ3Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDQ4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDgtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00NDguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQ0OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDkuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0OS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTAtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUwLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTEtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00NTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1MS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQ1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUyLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQ1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDUyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00NTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTMuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00NTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTQuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1
NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQ1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1NS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQ1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1NS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU2LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00NTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU2Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTYuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00NTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1Ny1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ1Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1OC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1OC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU4Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDU5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU5Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDYtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2MC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDYwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2
MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2MC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDYwLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00NjEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2My1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2My5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDYzLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDY0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NjQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjUuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2NS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY2LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDY2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY3Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjgtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi00NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjguaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00NjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2OC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY5LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2OS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2OS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDY5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzAt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQ3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcxLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3MS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQ3MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3MS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcyLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzIuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00NzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3My1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ3My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc0Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00NzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NzYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3Ni1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzYtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzYuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3Ny1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDc3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQ3Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3Ny5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc3Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzgtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00NzguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQ3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00Nzkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzkuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3OS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODAtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgwLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00ODAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODEtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00ODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00ODEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4MS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQ4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgyLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQ4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDgyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00ODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODMuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODQuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00ODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4
NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQ4NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4NS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQ4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4NS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg2LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00ODYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg2Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODYuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00ODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4Ny1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00ODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ4Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4OC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4OC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg4Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg5Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
ODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDktZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5MC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5
MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5MC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDkwLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00OTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5My1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ5My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5My5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ5My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDkzLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDk0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00OTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ5NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTUuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00OTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5NS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk2LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDk2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
OTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk3Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTgtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi00OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTguaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00OTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5OC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ5OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk5LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5OS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ5OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5OS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDk5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MC5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MC5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAwLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTAwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAx
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDEuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTUwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwMy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTUwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwMy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDQuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01MDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwNS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01MDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTUwNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwNi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUw
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA2Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA3
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwOC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwOS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUwOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwOS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA5Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTAtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxMS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTUxMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxMS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTUxMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTEx
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTItZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTEyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTEyLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MTIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTUxMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxMy5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTUxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTUxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTE0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE1LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTUuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTYtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01MTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTYuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUx
Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTUxNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE3LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxNy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTUxNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxNy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTE3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01MTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNTE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTguaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxOS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUxOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01Mi1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTIwLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTIwLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjAuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01MjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyMS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01MjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjEuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTUyMS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyMi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUy
Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyMi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTIyLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUy
NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyNS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyNS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTUyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI1Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjYtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI2LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI2Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MjYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyNy5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI5LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI5Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01My1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01My5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01My5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMwLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTMwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMx
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzEuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUzMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTUzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzMy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTUzMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzMy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzQuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01MzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzNS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTUzNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzNi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUz
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM2Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM3
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzOC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzOS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUzOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzOS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUzOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM5Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDAtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0MS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0MS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQx
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDItZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQyLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NDIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0My5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTU0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTU0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ1LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDUuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDYtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01NDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDYuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01NDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0
Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ3LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0Ny5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTQ3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01NDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNTQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDguaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0OS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU0OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTUuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTUwLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTUwLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTAuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01NTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1MS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01NTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTEuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU1MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1
Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTUyLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1
NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1NS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU1NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1NS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU1Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTYtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU2LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU2Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01NTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1Ny5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU5LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU5Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01Ni1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01Ni5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01Ni5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYwLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTYwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYx
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjEuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01NjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTU2My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2My1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTU2My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2My5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01NjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjQuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01NjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2NS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU2NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2Ni1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY2Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY3
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2OC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2OS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU2OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2OS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY5Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzAtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3MS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3MS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTcx
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzItZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTcyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTcyLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NzIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3My5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTU3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTU3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTc0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc1LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzUuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzYtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzYuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01NzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3
Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc3LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3Ny5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTc3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01NzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNTc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzguaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3OS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU3OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTgwLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01ODAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTgwLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODAuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01ODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4MS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODEuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU4MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4
Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTgyLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01ODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4
NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4NS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU4NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4NS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg1Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODYtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg2LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg2Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01ODYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4Ny5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg5LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg5Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkwLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTkwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01OTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkx
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTEuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01OTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01OTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTU5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5My1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTU5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5My5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01OTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTQuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01OTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5NS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01OTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU5NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5Ni1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk2Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk3
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01OTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5OC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01OTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5OS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5OS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk5Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwMC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjAwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYwMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwMC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAwLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDEtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02MDEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAz
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MDQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDUuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02MDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwNS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA2LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjA2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi02MDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYw
OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYwOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA5LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwOS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwOS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjA5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
MTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
MTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYxMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEx
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEyLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjEyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTIuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02MTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02MTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYxMy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxNC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYx
NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxNC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjE0Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NjE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NjE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02MTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYx
Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTYtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTYuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxNy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTYxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxNy5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjE3Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjE4LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjE4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MTguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTktZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTYxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTkuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxOS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYy
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjAtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIwLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIwLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjEtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYyMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02MjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyMS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTYyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTYyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjIyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02MjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjMuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjQu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTYyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI1LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyNS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTYyNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyNS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI2LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI2Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjYuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02MjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyNy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYyNy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyOC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYy
OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI4Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI5
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI5
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzMC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjMwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYzMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzMC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMwLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzEtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02MzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYzMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMz
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjM0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYzNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzUuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02MzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzNS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM2LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjM2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi02MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYz
OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM5LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzOS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzOS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjM5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQx
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0MS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0MS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQyLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDIuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02NDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0My1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY0My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0NC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0
NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0NC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQ0Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NjQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NjQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02NDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0
Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDYtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDYuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0Ny1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTY0Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0Ny5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY0Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQ3Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjQ4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQ4LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQ4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02NDguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDktZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTY0OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDkuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0OS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTAtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUwLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUwLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTEtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02NTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1MS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTY1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTY1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjUyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02NTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTMuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02NTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTQu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTY1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU1LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1NS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTY1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1NS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU2LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02NTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU2Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTYuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02NTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1Ny1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY1Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1OC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1
OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU4Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU5
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjU5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU5
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2MC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjYwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2MC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYwLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjEtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02NjEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2My1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2My5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYz
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjY0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NjQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjUuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2NS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY2LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjY2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi02NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02NjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2
OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY5LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2OS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2OS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjY5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjctZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcx
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3MS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3MS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcyLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzIuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02NzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3My1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY3My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3NC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3
NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3NC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjc0Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Njc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Njc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02NzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3
Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzYtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzYuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3Ny1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjc3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTY3Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3Ny5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjc3Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjc4LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjc4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02NzguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzktZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTY3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzkuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3OS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODAtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgwLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgwLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODEtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02ODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02ODEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4MS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTY4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTY4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjgyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02ODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODMuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODQu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02ODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTY4NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg1LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4NS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTY4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4NS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg2LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02ODYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg2Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODYuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02ODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4Ny1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02ODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY4Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4OC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4
OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg4Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg5
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg5
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02ODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjktZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjktZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5MC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5MC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjkwLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTEtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02OTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5My1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY5My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5My5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY5My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjkz
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjk0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02OTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY5NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTUuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02OTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5NS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk2LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjk2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02OTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi02OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02OTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5
OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY5OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk5LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5OS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY5OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5OS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjk5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MC5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTcwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MC5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTcwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTcwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzAwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDEuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
MDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
MDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTcwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzA0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzA0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDQuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03MDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwNS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03MDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTcwNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcw
Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTcwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzA2Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcw
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDgtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwOS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTcwOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwOS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTcwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzA5Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTcxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTAtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTAu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxMC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxMS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTcxMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxMS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTcxMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzEyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzEyLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTcxMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTMuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxMy5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTcxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTcxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzE0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE1LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE1
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTUuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTYt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03MTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTYu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTcxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTcxNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE3LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxNy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTcxNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxNy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE4LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03MTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNzE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE4Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTguaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxOS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTkuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTcxOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03Mi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIwLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIwLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjAu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03MjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyMS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjEtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03MjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjEuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTcyMS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyMi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTcyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyMi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTcyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIyLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTcyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyNS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTcyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyNS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTcyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI1
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjYtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI2Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MjYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjctZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTcyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyNy5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTcyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI4LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTcyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjkuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03My1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03My5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTczLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03My5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTczMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTczMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzMwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzEuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
MzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
MzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTczMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzM0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzM0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzQuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03MzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczNS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTczNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcz
Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTczNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzM2Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcz
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzgtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczOS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTczOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczOS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTczOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzM5Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDAtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDAu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0MC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0MS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0MS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQyLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDMuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0My5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTc0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTc0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ1LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ1
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDUuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDYt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03NDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDYu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03NDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ3LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0Ny1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0Ny5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ4LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03NDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNzQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ4Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDguaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0OS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDkuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc0OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUwLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUwLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTAu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03NTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1MS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTEtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03NTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTEuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc1MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1Mi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1Mi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUyLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1NS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc1NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1NS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU1
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTYtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU2Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03NTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTctZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1Ny5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU4LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTkuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03Ni1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03Ni5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03Ni5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2MC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2MC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzYwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjEuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
NjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03NjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2My1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzY0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03NjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzY0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjQuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03NjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2NS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc2NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2Ni1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2
Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2Ni5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzY2Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjgtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2OS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc2OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2OS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzY5Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzAtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzAu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3MC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3MS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3MS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzcyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzcyLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzMuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3My5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTc3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTc3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzc0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc1LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc1
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzUuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzYt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzYu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03NzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc3LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3Ny1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3Ny5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc4LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03NzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNzc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc4Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzguaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3OS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzkuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc3OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzgwLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzgwLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODAu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03ODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4MS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODEtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODEuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc4MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4Mi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4Mi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzgyLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03ODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4NS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc4NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4NS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg1
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODYtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg2Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03ODYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODctZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4Ny5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg4LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODkuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OS5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5MC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5MC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzkwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03OTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTEuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
OTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03OTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5My1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzk0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03OTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzk0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTQuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03OTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5NS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03OTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc5NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5Ni1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5
Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5Ni5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzk2Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Nzk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Nzk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTgtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5OS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5OS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzk5Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwMC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODAwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgwMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwMC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAwLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDEtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04MDEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwMi5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwMy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwMy5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDUuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04MDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwNS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODA2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA3
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDcuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDgt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi04MDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDgu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgwOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA5LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwOS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwOS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODEtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODEuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04MTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04MTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgxMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODEyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODEyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODEyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTIu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04MTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMy1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04MTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgxMy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxNC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxNC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE0Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04MTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgxNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTYuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxNy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTgxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxNy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE3
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTgtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE4LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE4Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MTguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTktZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTgxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTkuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxOS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Mi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjAt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIwLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgyMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04MjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyMS5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTgyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIyLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyMi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTgyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyMi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODIyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04MjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIzLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjMuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
MjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI1
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjYuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04MjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjcuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgyNy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyOC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgy
OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyOC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI4Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzMC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODMwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgzMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzMC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMwLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzEtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04MzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzMi5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzMy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzMy5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgzMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODM0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgzNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzUuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04MzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzNS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODM2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM3
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzcuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Mzgt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi04MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Mzgu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgzOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM5LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzOS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzOS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0MS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0MS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDIu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04NDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0My1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg0My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0NC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0NC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ0Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04NDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDYuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0Ny1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTg0Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0Ny5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg0Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ3
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODQ4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDgtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ4LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ4Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04NDguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDktZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTg0OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDkuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0OS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTAt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUwLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04NTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1MS5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTg1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUyLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTg1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1Mi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODUyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04NTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUzLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTMuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
NTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04NTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU1
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1NS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04NTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTYuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04NTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1Ny1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTcuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg1Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1OC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1
OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1OC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU4Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODU5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODYwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYwLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjEtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04NjEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2Mi5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2My1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2My5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODY0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjUuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2NS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODY2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY3
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjcuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Njgt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi04NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Njgu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04NjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY5LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2OS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2OS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODctZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODcuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3MS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3MS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODcyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODcyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzIu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04NzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3My1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg3My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3NC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg3NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3NC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc0Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04NzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzYuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3Ny1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTg3Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3Ny5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc3
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzgtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc4LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc4Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04NzguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzktZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTg3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzkuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3OS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODAt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgwLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04ODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04ODEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4MS5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTg4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgyLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTg4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4Mi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODgyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04ODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgzLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODMuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
ODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg1
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4NS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04ODYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODYuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04ODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4Ny1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04ODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODcuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg4Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4OC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4
OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4OC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg4Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04ODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODkt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODktZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODkwLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTEtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04OTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5Mi5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5My1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg5My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5My5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg5My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODk0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg5NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTUuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04OTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5NS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODk2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04OTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk3
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTcuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTgt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi04OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTgu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04OTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg5OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk5LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5OS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg5OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5OS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOS5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MC5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTAwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTAwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTAxLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTAxLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDEuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05MDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05MDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDQu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05MDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwNS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05MDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTkwNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwNi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTkwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwNi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTkwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA2Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDctZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTkwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDgtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwOS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkwOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwOS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA5
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTAuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
MTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxMC5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkx
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTkxMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkx
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTIt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTEyLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTEyLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTkxMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTMuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxMy5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTkxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTkxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTE0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE1LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE1
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTUuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
MTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05MTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTkxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE3
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE4LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05MTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tOTE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE4Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTguaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxOS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTkuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkxOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05Mi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyLmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIwLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
MjAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05MjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjEtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05MjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyMS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyMi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTkyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyMi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIyLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTkyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyNC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyNS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyNS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTkyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTI1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI2LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjctZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjcuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyNy5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI4LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI5LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI5
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjkuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05My1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05My5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05My5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTMwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTMwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTMxLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTMxLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzEuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05MzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05MzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkzMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzQu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05MzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzNS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTkzNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzNi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTkzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzNi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTkzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM2Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzctZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTkzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzgtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzOS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkzOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzOS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkzOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM5
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDAuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0MC5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDIt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQyLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQyLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDMuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0My5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTk0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0NC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTk0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0NC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ1LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ1
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDUuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05NDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ3
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0Ny1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0Ny5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ4LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05NDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tOTQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ4Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDguaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0OS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDkuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk0OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NS1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUwLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05NTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1MS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTEtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05NTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1Mi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1Mi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUyLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1NC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1NS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk1NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1NS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU2LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTctZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTcuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1Ny5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU4LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU5LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU5
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTkuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05Ni1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05Ni5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05Ni5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTYwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2MC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2MC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTYwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTYxLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTYxLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjEuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05NjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2Mi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2My1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2My5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjQu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05NjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2NS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk2NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2Ni1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTk2Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2Ni5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY2Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjctZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTk2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjgtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2OS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk2OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2OS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY5
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05Ny5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzAuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3MC5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzIt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTcyLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTcyLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzMuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3My5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTk3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3NC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTk3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3NC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTc0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc1LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc1
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzUuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NzYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc3
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3Ny1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3Ny5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc4LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05NzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tOTc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc4Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzguaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3OS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzkuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk3OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgwLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
ODAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05ODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4MS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODEtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4Mi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4Mi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgyLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05ODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4NC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4NS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk4NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4NS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg2LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODctZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODcuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4Ny5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg4LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg5LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg5
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODkuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OS5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTkwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5MC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5MC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTkwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTkxLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05OTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTkxLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTEuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05OTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5Mi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5My1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5My5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTQu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05OTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5NS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05OTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk5NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5Ni1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTk5Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5Ni5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk2Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTctZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTk5OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTgtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5OS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5OS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk5
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405176</attachid>
            <date>2020-07-24 14:33:03 -0700</date>
            <delta_ts>2020-07-24 14:33:03 -0700</delta_ts>
            <desc>Data collection (3)</desc>
            <filename>bug-214688-20200724143257.patch</filename>
            <type>text/plain</type>
            <size>2992204</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0ODU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGQ3ZDQ0Mzk0NWQ0N2U0Nzk4
ZGQ4NWRmYTA2OTI0MWVhOGQ4MDU3YjUuLjc4NTQxMjFlMWY2ZDc1NzQwNmU2NzI5YjRiMzZlN2Vi
M2JiN2M0ODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMDctMjQgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTiAocjI2
NDY5MCk6IFsgaU9TIHdrMiBdIGVkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGlzIGEgZmxha3kgZmFpbHVyZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0Njg4CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS82NTk5MzY4Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1t
OgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9zaW5nbGVUYXBJZGVudGlmaWVkOl0pOgorICAg
ICAgICAoLVtXS0NvbnRlbnRWaWV3IF9zaW5nbGVUYXBSZWNvZ25pemVkOl0pOgorICAgICAgICAq
IFVJUHJvY2Vzcy9pb3MvV0tTeW50aGV0aWNUYXBHZXN0dXJlUmVjb2duaXplci5tbToKKyAgICAg
ICAgKC1bV0tTeW50aGV0aWNUYXBHZXN0dXJlUmVjb2duaXplciBzZXRTdGF0ZTpdKToKKwogMjAy
MC0wNy0yNCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIENyYXNo
IHVuZGVyIFByZWNvbm5lY3RUYXNrOjpzdGFydCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQppbmRleCBiMDQxYzI5
MjkxZTJhM2MyODY3NjM2OWI1MDBjZmMxYzcyOTY1ZDZlLi4xYTc0ZjljODUyMDJhOWU3Y2FhODNk
MjE1MzcyN2M4MzA0NjIwN2Q4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9p
b3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KQEAgLTI3MjgsNiArMjcyOCw3IEBA
IC0gKHZvaWQpX2VuZFBvdGVudGlhbFRhcEFuZEVuYWJsZURvdWJsZVRhcEdlc3R1cmVzSWZOZWNl
c3NhcnkKIAogLSAodm9pZClfc2luZ2xlVGFwSWRlbnRpZmllZDooVUlUYXBHZXN0dXJlUmVjb2du
aXplciAqKWdlc3R1cmVSZWNvZ25pemVyCiB7CisgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiAlcyIs
IF9fUFJFVFRZX0ZVTkNUSU9OX18pOwogICAgIEFTU0VSVChnZXN0dXJlUmVjb2duaXplciA9PSBf
c2luZ2xlVGFwR2VzdHVyZVJlY29nbml6ZXIpOwogICAgIEFTU0VSVCghX3BvdGVudGlhbFRhcElu
UHJvZ3Jlc3MpOwogICAgIFtzZWxmIF9yZXNldElzRG91YmxlVGFwUGVuZGluZ107CkBAIC0yODAz
LDYgKzI4MDQsNyBAQCAtICh2b2lkKV9kaWRDb21wbGV0ZVN5bnRoZXRpY0NsaWNrCiAKIC0gKHZv
aWQpX3NpbmdsZVRhcFJlY29nbml6ZWQ6KFVJVGFwR2VzdHVyZVJlY29nbml6ZXIgKilnZXN0dXJl
UmVjb2duaXplcgogeworICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogJXMiLCBfX1BSRVRUWV9GVU5D
VElPTl9fKTsKICAgICBBU1NFUlQoZ2VzdHVyZVJlY29nbml6ZXIgPT0gX3NpbmdsZVRhcEdlc3R1
cmVSZWNvZ25pemVyKTsKIAogICAgIGlmICghW3NlbGYgaXNGaXJzdFJlc3BvbmRlcl0pCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tTeW50aGV0aWNUYXBHZXN0dXJl
UmVjb2duaXplci5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1N5bnRoZXRpY1Rh
cEdlc3R1cmVSZWNvZ25pemVyLm1tCmluZGV4IDYwZmJjYWQwYmY1MTc4YTQwOTFhODcyOGUzOWVh
NjkzNTIzOWFjZDguLmYxMGM5ODU3NDcyNWI1YjJhNzdlNTZjZWNiZDFiMDJkMDczYTMwZGQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1N5bnRoZXRpY1RhcEdlc3R1
cmVSZWNvZ25pemVyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1N5bnRo
ZXRpY1RhcEdlc3R1cmVSZWNvZ25pemVyLm1tCkBAIC02OCw2ICs2OCwxMiBAQCAtICh2b2lkKXNl
dFN0YXRlOihVSUdlc3R1cmVSZWNvZ25pemVyU3RhdGUpc3RhdGUKICAgICBlbHNlIGlmIChzdGF0
ZSA9PSBVSUdlc3R1cmVSZWNvZ25pemVyU3RhdGVGYWlsZWQpCiAgICAgICAgIFtfZ2VzdHVyZUZh
aWxlZFRhcmdldCBwZXJmb3JtU2VsZWN0b3I6X2dlc3R1cmVGYWlsZWRBY3Rpb24gd2l0aE9iamVj
dDpzZWxmXTsKICAgICBbc3VwZXIgc2V0U3RhdGU6c3RhdGVdOworICAgIGlmIChzdGF0ZSA9PSBV
SUdlc3R1cmVSZWNvZ25pemVyU3RhdGVFbmRlZCAmJiBzZWxmLnN0YXRlID09IFVJR2VzdHVyZVJl
Y29nbml6ZXJTdGF0ZUZhaWxlZCkgeworICAgICAgICBXVEZMb2dBbHdheXMoIjxXSz46ICoqKiBT
SU5HTEUgVEFQIEZBSUxFRCBUTyBSRUNPR05JWkUhICVAICoqKiIsIHNlbGYpOworICAgICAgICBm
b3IgKE5TU3RyaW5nICpzIGluIFtOU1RocmVhZCBjYWxsU3RhY2tTeW1ib2xzXSkKKyAgICAgICAg
ICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogJUAiLCBzKTsKKyAgICAgICAgV1RGTG9nQWx3YXlzKCI8
V0s+OiAiKTsKKyAgICB9CiB9CiAKIC0gKHZvaWQpcmVzZXQKZGlmZiAtLWdpdCBhL1Rvb2xzL0No
YW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBiN2ZjZmM5NDQxOWY3ZGVhZWQzMWEyNTYz
NWUzZTJjMzBmY2Y4MWM1Li5iNzJmZjM0MDc4NzExYjc5NTA2YTI5N2EyMDdkYmNhNWFmY2FhYjVi
IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTYgQEAKKzIwMjAtMDctMjQgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBs
ZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTiAocjI2NDY5MCk6IFsgaU9TIHdrMiBdIGVkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
IGlzIGEgZmxha3kgZmFpbHVyZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjE0Njg4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82NTk5MzY4Mz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYktpdFRl
c3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxl
cjo6cnVuVGVzdCk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlTY3JpcHRDb250
cm9sbGVySU9TLm1tOgorICAgICAgICAoV1RSOjpVSVNjcmlwdENvbnRyb2xsZXJJT1M6OnNpbmds
ZVRhcEF0UG9pbnRXaXRoTW9kaWZpZXJzKToKKwogMjAyMC0wNy0yNCAgWW91ZW5uIEZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHNvbWUgbG9nZ2luZyB0byBkZWJ1ZyBX
ZWJLaXQuUXVvdGFEZWxlZ2F0ZSB0ZXN0IHRoYXQgdGltZXMgb3V0IG9uIGEgRGVidWcgYm90CmRp
ZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcCBiL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCmluZGV4IDFiMTdiYWE4NWU3
OWNkZTJiYmE0ZjQ4MGRmMzg3NGE2YWFjNzM1MjMuLjdlZWI4NWQwM2IzNThjZDE1MzYwMTk4YTA2
N2U4YThmYzg5ZmE5MmEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENv
bnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIu
Y3BwCkBAIC0xODIzLDYgKzE4MjMsOCBAQCBib29sIFRlc3RDb250cm9sbGVyOjpydW5UZXN0KGNv
bnN0IGNoYXIqIGlucHV0TGluZSkKICAgICBXS1JldGFpblB0cjxXS1VSTFJlZj4gd2tVUkwgPSBh
ZG9wdFdLKGNyZWF0ZVRlc3RVUkwoY29tbWFuZC5wYXRoT3JVUkwuY19zdHIoKSkpOwogICAgIG1f
Y3VycmVudEludm9jYXRpb24gPSBtYWtlVW5pcXVlPFRlc3RJbnZvY2F0aW9uPih3a1VSTC5nZXQo
KSwgb3B0aW9ucyk7CiAKKyAgICBXVEZMb2dBbHdheXMoIjxXSz46IFJ1bm5pbmcgJXMiLCBjb21t
YW5kLnBhdGhPclVSTC5jX3N0cigpKTsKKwogICAgIGlmIChjb21tYW5kLnNob3VsZER1bXBQaXhl
bHMgfHwgbV9zaG91bGREdW1wUGl4ZWxzRm9yQWxsVGVzdHMpCiAgICAgICAgIG1fY3VycmVudElu
dm9jYXRpb24tPnNldElzUGl4ZWxUZXN0KGNvbW1hbmQuZXhwZWN0ZWRQaXhlbEhhc2gpOwogCmRp
ZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9VSVNjcmlwdENvbnRyb2xsZXJJ
T1MubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9VSVNjcmlwdENvbnRyb2xsZXJJT1Mu
bW0KaW5kZXggN2ZhZWU2NDQ1YTcwYmVhMDFjZTQ0MTIzYjc3MTY4ODMwNjAyZDNiNi4uMGRmNTRl
NjQ5MDNlODdhZGY3ZGQxYzNkMzA3ZGQzMzFmODcyYzZjNCAxMDA2NDQKLS0tIGEvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9pb3MvVUlTY3JpcHRDb250cm9sbGVySU9TLm1tCisrKyBiL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvaW9zL1VJU2NyaXB0Q29udHJvbGxlcklPUy5tbQpAQCAtMzAzLDYgKzMw
Myw3IEBAIHZvaWQgVUlTY3JpcHRDb250cm9sbGVySU9TOjpzaW5nbGVUYXBBdFBvaW50V2l0aE1v
ZGlmaWVycyhXZWJDb3JlOjpGbG9hdFBvaW50IGxvCiAgICAgZm9yIChhdXRvJiBtb2RpZmllckZs
YWcgOiBtb2RpZmllckZsYWdzKQogICAgICAgICBbW0hJREV2ZW50R2VuZXJhdG9yIHNoYXJlZEhJ
REV2ZW50R2VuZXJhdG9yXSBrZXlEb3duOm1vZGlmaWVyRmxhZ107CiAKKyAgICBXVEZMb2dBbHdh
eXMoIjxXSz46IFNlbmRpbmcgc2luZ2xlIHRhcCBhdCAoJS4wZiwgJS4wZikiLCBfX1BSRVRUWV9G
VU5DVElPTl9fLCBsb2NhdGlvbi54KCksIGxvY2F0aW9uLnkoKSk7CiAgICAgW1tISURFdmVudEdl
bmVyYXRvciBzaGFyZWRISURFdmVudEdlbmVyYXRvcl0gdGFwOmdsb2JhbFRvQ29udGVudENvb3Jk
aW5hdGVzKHdlYlZpZXcoKSwgbG9jYXRpb24ueCgpLCBsb2NhdGlvbi55KCkpIGNvbXBsZXRpb25C
bG9jazpbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWZQdHIoKnRoaXMpLCBtb2RpZmllckZs
YWdzID0gV1RGTW92ZShtb2RpZmllckZsYWdzKSwgYmxvY2sgPSBXVEZNb3ZlKGJsb2NrKV0gKCkg
bXV0YWJsZSB7CiAgICAgICAgIGlmICghbV9jb250ZXh0KQogICAgICAgICAgICAgcmV0dXJuOwpA
QCAtMzExLDYgKzMxMiw3IEBAIHZvaWQgVUlTY3JpcHRDb250cm9sbGVySU9TOjpzaW5nbGVUYXBB
dFBvaW50V2l0aE1vZGlmaWVycyhXZWJDb3JlOjpGbG9hdFBvaW50IGxvCiAgICAgICAgICAgICBb
W0hJREV2ZW50R2VuZXJhdG9yIHNoYXJlZEhJREV2ZW50R2VuZXJhdG9yXSBrZXlVcDptb2RpZmll
ckZsYWdzW2ldXTsKICAgICAgICAgfQogICAgICAgICBbW0hJREV2ZW50R2VuZXJhdG9yIHNoYXJl
ZEhJREV2ZW50R2VuZXJhdG9yXSBzZW5kTWFya2VySElERXZlbnRXaXRoQ29tcGxldGlvbkJsb2Nr
OmJsb2NrLmdldCgpXTsKKyAgICAgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiAuLi5kb25lIHNlbmRp
bmcgc2luZ2xlIHRhcC4iKTsKICAgICB9XTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDAtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDAu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMDAt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTAwMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEw
MDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDAwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xMDAwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTAxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTAxLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMi5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTEwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTAzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTEwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDQuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xMDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwNS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xMDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTEwNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwNi1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwNi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDcu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwOC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDguaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTEwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwOS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTEwOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwOS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA5Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xMTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExMC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTAtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xMTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTAuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExMS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTExMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExMS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTExMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTExLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTItZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTEyLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMTIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTExMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTMuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExMy5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEx
NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTExNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEx
NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTE0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTUt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE1Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTExNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xMTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTYuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExNi5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTExNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExNy1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTExNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTE3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xMTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE4
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTguaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExOS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xMTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTExOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMi1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIwLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIwLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjAuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xMjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyMS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xMjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTEyMS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyMi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyMi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIyLmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIzLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xMjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyNC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyNS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyNS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTEyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI1Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMjYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjctZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjcu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyNy5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyOC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTEyOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyOC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTEyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjktZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI5LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMy5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTEzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMwLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTEzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTMwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMxLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMi5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTEzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTEzMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzQuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xMzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzNS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xMzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTEzNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzNi1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzNi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzcu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzOC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzguaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTEzOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzOS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTEzOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzOS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEzOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM5Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0MC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDAtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDAuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQxLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDItZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQyLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNDIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDMuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0My5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0
NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0
NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDUt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ1Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xNDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDYuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xNDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0Ni5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0Ny1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0Ny5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTQ3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xNDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ4
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDguaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0OS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE0OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUwLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUwLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTAuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xNTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xNTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE1MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Mi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Mi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUyLmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUzLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xNTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1NC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1NS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE1NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1NS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU1Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xNTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTctZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTcu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Ny5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1OC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTE1OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1OC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTktZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU5LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNi5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYwLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTYwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYxLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xNjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Mi5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTE2My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2My1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTE2My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2My5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xNjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjQuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xNjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2NS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xNjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE2NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Ni5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjcu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2OC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjguaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2OS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE2OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2OS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY5Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3MC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzAtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzAuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTcxLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzItZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTcyLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNzIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzMuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3My5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3
NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE3NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3
NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTc0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzUt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc1Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzYuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xNzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3Ni5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3Ny1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3Ny5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTc3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xNzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc4
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzguaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE3OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTgwLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xODAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTgwLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODAuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE4MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Mi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Mi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTgyLmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTgzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTgzLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
ODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4NC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4NS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE4NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4NS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg1Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xODYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODctZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODcu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Ny5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4OC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTE4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4OC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODktZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg5LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkwLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTkwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
OTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkxLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xOTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xOTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Mi5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTE5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5My1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTE5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5My5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xOTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTQuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xOTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5NS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xOTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE5NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Ni5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTcu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xOTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5OC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xOTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTguaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5OS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5OS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk5Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMi5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjAwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIw
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAwLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yMDEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yMDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yMDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMy5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAzLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMDQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
MDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwNS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIw
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTIwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIw
Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjA2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDgtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTIwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0yMDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwOC5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIwOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwOS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwOS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjA5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjEuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTAtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTAuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yMTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIx
MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTIxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjExLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxMS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTIxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxMS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjEyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjEyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjEyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTIuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yMTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxMy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yMTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIxMy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE0Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE1Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
MTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yMTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTYtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yMTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTYuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTIxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNy5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE3Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTgtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMTguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTIxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTktZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTku
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxOS5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjAtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIwLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIwLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yMjAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjEtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIyMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yMjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyMS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTIyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIyLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTIyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjIyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
MjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjQuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyNC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTIyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI1LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyNS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTIyNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyNS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjI1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI2LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MjI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI2Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjYuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yMjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyNy1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIyNy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MjI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyOC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyOC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI5Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjku
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjMwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIz
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMwLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yMzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yMzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yMzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMy5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIzMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMzLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjM0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIzNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
MzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzNS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIz
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTIzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIz
Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjM2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzgtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTIzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0yMzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzOC5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzOS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzOS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjM5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDAtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDAuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0
MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTI0MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0MS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTI0MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDIuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yNDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0My1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yNDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI0My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0NC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0NC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ1Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
NDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDYtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDYuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0Ny1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTI0Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0Ny5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI0Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ3Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjQ4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDgtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNDguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTI0OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDktZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDku
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0OS5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTAtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUwLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUwLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTEtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yNTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1MS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTI1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUyLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTI1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjUyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
NTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTQuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1NC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTI1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU1LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1NS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTI1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1NS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU2LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MjU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU2Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTYuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yNTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1Ny1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI1Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MjU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1OC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1OC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjU5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU5Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTku
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjYwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2MC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYwLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yNjEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yNjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2Mi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yNjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2My1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2My5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYzLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjY0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNjQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2NS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTI2Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2
Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjY2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjgtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTI2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0yNjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2OC5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2OS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjY5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNy5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzAtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzAuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3
MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTI3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjcxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3MS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTI3MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjcyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjcyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzIuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yNzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3My1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yNzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI3My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3NC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3NC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc0Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc1Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
NzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNzYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzYtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzYuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3Ny1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjc3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTI3Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3Ny5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc3Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzgtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNzguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTI3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzktZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzku
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3OS5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODAtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgwLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgwLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yODAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODEtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
ODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yODEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4MS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTI4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgyLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTI4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjgyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
ODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODQuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4NC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTI4NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg1LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4NS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTI4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4NS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg2LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yODYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Mjg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg2Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODYuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4Ny1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI4Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Mjg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4OC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4OC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg5Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODku
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjktZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5MC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjkwLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjkx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjkx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yOTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yOTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5Mi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yOTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5My1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI5My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5My5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI5My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjkzLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjk0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yOTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI5NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
OTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5NS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTI5Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5
Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjk2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTgtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTI5OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0yOTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yOTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5OC5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI5OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI5OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5OS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjk5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMC5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAwLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzAwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAxLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAxLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDEuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDIuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMw
Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTMwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwMy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTMwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwMy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDQuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zMDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwNS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zMDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTMwNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwNi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwNi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA2Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA3LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwOC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwOS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMwOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwOS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA5Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMx
MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTAtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTAuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxMS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTMxMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxMS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTMxMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzExLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzEyLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzEyLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMTIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTMxMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTMuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxMy5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTMxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTMxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzE0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE1LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE1Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTYtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zMTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTYuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNi5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTMxNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE3LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTMxNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzE3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE4LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zMTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MzE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE4Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTguaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxOS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMxOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIwLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIwLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjAuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zMjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyMS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zMjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjEuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTMyMS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyMi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMy
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIyLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zMjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyNC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyNS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTMyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI1Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjYtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMjYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjct
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyNy5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMy
OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTMyOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMy
OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjkt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI5Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMy5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMy5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMwLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzMwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMxLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMxLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzEuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzIuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMz
Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTMzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzMy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTMzMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzMy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzQuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zMzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzNS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zMzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTMzNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzNi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzNi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM2Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM3LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzOC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzOS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMzOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzOS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMzOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM5Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0
MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDAtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDAuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0MS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0MS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQxLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQyLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQyLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNDIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDMuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0My5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTM0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTM0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ1LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ1Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDYtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zNDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDYuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zNDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0Ni5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ3LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0Ny1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0Ny5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzQ3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ4LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zNDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MzQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ4Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDguaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM0OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUwLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUwLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTAuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zNTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1MS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zNTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTEuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM1MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Mi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUyLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zNTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1NC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1NS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM1NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1NS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU1Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTYtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zNTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTct
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Ny5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1
OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTM1OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1
OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTkt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU5Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNi5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYwLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzYwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYxLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYxLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjEuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zNjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjIuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2
Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTM2My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2My1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTM2My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2My5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zNjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjQuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zNjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2NS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zNjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM2NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2Ni1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2Ni5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY2Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY3LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2OC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2OS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM2OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2OS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY5Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3
MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzAtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzAuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3MS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3MS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzcxLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzcyLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzcyLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNzIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzMuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3My5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTM3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTM3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzc0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc1LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc1Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzYtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzYuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zNzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3Ni5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc3LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3Ny1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3Ny5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzc3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc4LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zNzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Mzc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc4Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzguaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM3OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzgwLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zODAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzgwLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODAuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4MS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODEuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM4MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Mi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzgyLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzgz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzgz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4NC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4NS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM4NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4NS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg1Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODYtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zODYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODct
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Ny5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4
OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTM4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4
OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODkt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg5Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkwLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzkwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zOTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkxLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkxLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTEuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zOTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTIuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zOTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5
Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTM5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5My1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTM5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5My5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zOTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTQuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zOTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5NS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zOTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM5NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5Ni1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5Ni5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk2Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk3LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zOTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5OC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zOTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5OS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5OS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk5Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDAtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDAtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwMC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDAwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQw
MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwMC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDAwLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00MDEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQw
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwMy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwMy5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDAzLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MDQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDUuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00MDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwNS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA2LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDA2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA3Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDgtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi00MDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDguaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwOC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQwOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA5LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwOS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwOS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDA5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDEtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDEuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTAt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00MTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQxMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDExLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxMS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxMS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDEyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDEyLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDEyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTIuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00MTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxMy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00MTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQxMy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQx
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE0Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00MTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00MTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTYtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTYuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNy5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE3Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTgtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MTguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTkuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxOS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQy
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQy
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjAtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIwLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00MjAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjEtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQyMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00MjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyMS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIyLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDIyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00MjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjMuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjQuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQy
NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyNS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQyNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDI1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI2LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI2Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjYuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00MjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyNy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQyNy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyOC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyOC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI4Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI5Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDMtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzMC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDMwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQz
MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzMC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDMwLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00MzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQz
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzMy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzMy5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQzMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDMzLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDM0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQzNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzUuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00MzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzNS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM2LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDM2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM3Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzgtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi00MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzguaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzOC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM5LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzOS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzOS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDM5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDAt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQ0MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQxLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0MS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQ0MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0MS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQyLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDIuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00NDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0My1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ0My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ0Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00NDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0Ni1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDYtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDYuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0Ny1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQ0Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0Ny5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ0Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ3Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDQ4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDgtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00NDguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQ0OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDkuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0OS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTAtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUwLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTEtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00NTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1MS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQ1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUyLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQ1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDUyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00NTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTMuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00NTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTQuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1
NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQ1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1NS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQ1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1NS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU2LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00NTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU2Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTYuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00NTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1Ny1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ1Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1OC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1OC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU4Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDU5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU5Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDYtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2MC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDYwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2
MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2MC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDYwLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00NjEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2My1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2My5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDYzLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDY0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NjQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjUuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2NS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY2LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDY2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY3Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjgtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi00NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjguaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00NjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2OC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY5LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2OS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2OS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDY5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzAt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQ3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcxLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3MS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQ3MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3MS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcyLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzIuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00NzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3My1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ3My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc0Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00NzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NzYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3Ni1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzYtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzYuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3Ny1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDc3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQ3Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3Ny5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc3Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzgtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00NzguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQ3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00Nzkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzkuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3OS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODAtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgwLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00ODAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODEtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00ODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00ODEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4MS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQ4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgyLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQ4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDgyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00ODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODMuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODQuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00ODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4
NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQ4NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4NS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQ4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4NS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg2LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00ODYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg2Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODYuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00ODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4Ny1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00ODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ4Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4OC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4OC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg4Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg5Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
ODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDktZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5MC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5
MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5MC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDkwLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00OTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5My1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ5My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5My5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ5My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDkzLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDk0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00OTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ5NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTUuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00OTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5NS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk2LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDk2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
OTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk3Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTgtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi00OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTguaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00OTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5OC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ5OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk5LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5OS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ5OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5OS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDk5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MC5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MC5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAwLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTAwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAx
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDEuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTUwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwMy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTUwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwMy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDQuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01MDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwNS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01MDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTUwNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwNi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUw
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA2Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA3
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwOC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwOS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUwOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwOS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA5Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTAtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxMS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTUxMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxMS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTUxMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTEx
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTItZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTEyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTEyLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MTIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTUxMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxMy5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTUxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTUxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTE0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE1LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTUuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTYtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01MTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTYuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUx
Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTUxNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE3LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxNy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTUxNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxNy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTE3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01MTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNTE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTguaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxOS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUxOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01Mi1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTIwLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTIwLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjAuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01MjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyMS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01MjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjEuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTUyMS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyMi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUy
Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyMi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTIyLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUy
NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyNS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyNS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTUyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI1Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjYtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI2LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI2Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MjYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyNy5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI5LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI5Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01My1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01My5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01My5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMwLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTMwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMx
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzEuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUzMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTUzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzMy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTUzMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzMy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzQuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01MzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzNS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTUzNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzNi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUz
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM2Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM3
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzOC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzOS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUzOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzOS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUzOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM5Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDAtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0MS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0MS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQx
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDItZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQyLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NDIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0My5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTU0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTU0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ1LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDUuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDYtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01NDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDYuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01NDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0
Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ3LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0Ny5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTQ3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01NDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNTQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDguaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0OS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU0OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTUuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTUwLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTUwLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTAuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01NTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1MS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01NTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTEuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU1MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1
Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTUyLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1
NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1NS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU1NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1NS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU1Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTYtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU2LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU2Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01NTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1Ny5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU5LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU5Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01Ni1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01Ni5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01Ni5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYwLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTYwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYx
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjEuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01NjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTU2My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2My1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTU2My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2My5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01NjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjQuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01NjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2NS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU2NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2Ni1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY2Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY3
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2OC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2OS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU2OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2OS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY5Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzAtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3MS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3MS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTcx
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzItZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTcyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTcyLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NzIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3My5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTU3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTU3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTc0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc1LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzUuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzYtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzYuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01NzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3
Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc3LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3Ny5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTc3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01NzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNTc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzguaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3OS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU3OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTgwLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01ODAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTgwLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODAuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01ODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4MS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODEuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU4MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4
Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTgyLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01ODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4
NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4NS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU4NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4NS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg1Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODYtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg2LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg2Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01ODYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4Ny5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg5LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg5Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkwLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTkwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01OTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkx
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTEuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01OTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01OTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTU5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5My1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTU5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5My5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01OTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTQuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01OTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5NS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01OTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU5NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5Ni1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk2Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk3
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01OTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5OC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01OTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5OS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5OS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk5Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwMC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjAwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYwMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwMC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAwLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDEtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02MDEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAz
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MDQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDUuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02MDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwNS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA2LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjA2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi02MDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYw
OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYwOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA5LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwOS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwOS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjA5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
MTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
MTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYxMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEx
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEyLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjEyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTIuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02MTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02MTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYxMy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxNC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYx
NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxNC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjE0Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NjE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NjE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02MTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYx
Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTYtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTYuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxNy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTYxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxNy5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjE3Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjE4LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjE4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MTguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTktZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTYxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTkuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxOS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYy
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjAtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIwLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIwLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjEtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYyMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02MjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyMS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTYyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTYyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjIyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02MjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjMuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjQu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTYyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI1LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyNS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTYyNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyNS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI2LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI2Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjYuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02MjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyNy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYyNy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyOC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYy
OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI4Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI5
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI5
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzMC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjMwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYzMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzMC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMwLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzEtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02MzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYzMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMz
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjM0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYzNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzUuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02MzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzNS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM2LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjM2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi02MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYz
OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM5LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzOS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzOS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjM5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQx
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0MS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0MS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQyLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDIuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02NDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0My1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY0My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0NC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0
NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0NC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQ0Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NjQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NjQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02NDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0
Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDYtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDYuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0Ny1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTY0Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0Ny5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY0Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQ3Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjQ4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQ4LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQ4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02NDguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDktZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTY0OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDkuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0OS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTAtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUwLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUwLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTEtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02NTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1MS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTY1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTY1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjUyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02NTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTMuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02NTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTQu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTY1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU1LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1NS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTY1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1NS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU2LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02NTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU2Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTYuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02NTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1Ny1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY1Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1OC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1
OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU4Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU5
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjU5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU5
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2MC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjYwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2MC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYwLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjEtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02NjEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2My1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2My5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYz
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjY0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NjQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjUuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2NS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY2LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjY2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi02NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02NjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2
OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY5LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2OS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2OS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjY5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjctZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcx
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3MS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3MS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcyLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzIuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02NzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3My1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY3My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3NC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3
NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3NC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjc0Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Njc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Njc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02NzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3
Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzYtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzYuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3Ny1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjc3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTY3Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3Ny5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjc3Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjc4LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjc4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02NzguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzktZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTY3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzkuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3OS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODAtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgwLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgwLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODEtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02ODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02ODEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4MS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTY4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTY4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjgyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02ODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODMuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODQu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02ODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTY4NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg1LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4NS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTY4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4NS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg2LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02ODYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg2Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODYuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02ODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4Ny1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02ODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY4Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4OC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4
OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg4Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg5
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg5
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02ODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjktZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjktZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5MC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5MC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjkwLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTEtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02OTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5My1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY5My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5My5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY5My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjkz
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjk0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02OTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY5NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTUuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02OTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5NS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk2LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjk2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02OTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi02OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02OTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5
OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY5OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk5LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5OS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY5OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5OS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjk5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MC5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTcwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MC5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTcwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTcwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzAwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDEuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
MDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
MDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTcwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzA0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzA0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDQuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03MDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwNS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03MDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTcwNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcw
Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTcwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzA2Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcw
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDgtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwOS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTcwOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwOS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTcwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzA5Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTcxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTAtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTAu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxMC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxMS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTcxMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxMS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTcxMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzEyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzEyLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTcxMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTMuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxMy5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTcxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTcxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzE0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE1LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE1
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTUuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTYt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03MTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTYu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTcxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTcxNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE3LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxNy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTcxNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxNy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE4LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03MTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNzE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE4Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTguaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxOS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTkuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTcxOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03Mi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIwLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIwLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjAu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03MjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyMS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjEtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03MjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjEuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTcyMS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyMi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTcyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyMi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTcyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIyLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTcyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyNS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTcyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyNS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTcyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI1
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjYtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI2Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MjYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjctZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTcyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyNy5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTcyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI4LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTcyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjkuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03My1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03My5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTczLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03My5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTczMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTczMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzMwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzEuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
MzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
MzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTczMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzM0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzM0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzQuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03MzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczNS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTczNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcz
Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTczNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzM2Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcz
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzgtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczOS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTczOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczOS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTczOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzM5Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDAtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDAu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0MC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0MS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0MS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQyLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDMuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0My5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTc0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTc0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ1LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ1
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDUuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDYt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03NDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDYu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03NDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ3LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0Ny1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0Ny5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ4LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03NDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNzQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ4Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDguaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0OS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDkuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc0OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUwLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUwLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTAu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03NTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1MS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTEtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03NTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTEuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc1MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1Mi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1Mi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUyLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1NS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc1NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1NS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU1
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTYtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU2Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03NTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTctZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1Ny5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU4LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTkuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03Ni1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03Ni5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03Ni5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2MC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2MC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzYwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjEuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
NjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03NjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2My1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzY0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03NjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzY0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjQuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03NjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2NS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc2NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2Ni1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2
Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2Ni5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzY2Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjgtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2OS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc2OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2OS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzY5Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzAtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzAu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3MC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3MS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3MS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzcyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzcyLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzMuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3My5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTc3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTc3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzc0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc1LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc1
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzUuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzYt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzYu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03NzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc3LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3Ny1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3Ny5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc4LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03NzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNzc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc4Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzguaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3OS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzkuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc3OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzgwLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzgwLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODAu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03ODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4MS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODEtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODEuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc4MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4Mi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4Mi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzgyLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03ODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4NS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc4NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4NS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg1
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODYtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg2Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03ODYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODctZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4Ny5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg4LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODkuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OS5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5MC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5MC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzkwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03OTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTEuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
OTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03OTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5My1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzk0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03OTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzk0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTQuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03OTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5NS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03OTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc5NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5Ni1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5
Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5Ni5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzk2Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Nzk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Nzk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTgtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5OS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5OS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzk5Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwMC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODAwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgwMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwMC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAwLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDEtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04MDEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwMi5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwMy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwMy5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDUuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04MDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwNS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODA2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA3
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDcuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDgt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi04MDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDgu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgwOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA5LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwOS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwOS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODEtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODEuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04MTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04MTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgxMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODEyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODEyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODEyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTIu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04MTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMy1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04MTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgxMy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxNC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxNC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE0Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04MTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgxNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTYuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxNy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTgxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxNy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE3
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTgtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE4LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE4Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MTguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTktZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTgxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTkuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxOS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Mi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjAt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIwLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgyMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04MjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyMS5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTgyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIyLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyMi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTgyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyMi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODIyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04MjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIzLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjMuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
MjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI1
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjYuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04MjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjcuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgyNy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyOC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgy
OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyOC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI4Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzMC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODMwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgzMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzMC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMwLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzEtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04MzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzMi5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzMy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzMy5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgzMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODM0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgzNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzUuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04MzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzNS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODM2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM3
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzcuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Mzgt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi04MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Mzgu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgzOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM5LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzOS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzOS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0MS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0MS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDIu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04NDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0My1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg0My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0NC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0NC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ0Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04NDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDYuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0Ny1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTg0Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0Ny5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg0Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ3
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODQ4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDgtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ4LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ4Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04NDguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDktZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTg0OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDkuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0OS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTAt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUwLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04NTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1MS5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTg1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUyLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTg1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1Mi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODUyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04NTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUzLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTMuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
NTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04NTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU1
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1NS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04NTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTYuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04NTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1Ny1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTcuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg1Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1OC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1
OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1OC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU4Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODU5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODYwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYwLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjEtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04NjEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2Mi5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2My1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2My5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODY0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjUuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2NS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODY2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY3
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjcuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Njgt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi04NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Njgu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04NjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY5LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2OS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2OS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODctZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODcuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3MS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3MS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODcyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODcyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzIu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04NzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3My1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg3My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3NC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg3NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3NC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc0Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04NzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzYuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3Ny1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTg3Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3Ny5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc3
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzgtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc4LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc4Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04NzguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzktZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTg3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzkuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3OS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODAt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgwLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04ODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04ODEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4MS5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTg4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgyLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTg4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4Mi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODgyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04ODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgzLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODMuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
ODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg1
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4NS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04ODYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODYuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04ODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4Ny1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04ODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODcuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg4Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4OC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4
OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4OC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg4Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04ODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODkt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODktZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODkwLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTEtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04OTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5Mi5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5My1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg5My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5My5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg5My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODk0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg5NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTUuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04OTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5NS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODk2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04OTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk3
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTcuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTgt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi04OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTgu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04OTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg5OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk5LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5OS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg5OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5OS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOS5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MC5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTAwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTAwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTAxLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTAxLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDEuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05MDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05MDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDQu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05MDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwNS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05MDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTkwNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwNi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTkwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwNi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTkwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA2Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDctZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTkwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDgtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwOS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkwOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwOS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA5
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTAuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
MTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxMC5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkx
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTkxMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkx
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTIt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTEyLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTEyLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTkxMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTMuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxMy5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTkxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTkxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTE0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE1LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE1
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTUuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
MTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05MTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTkxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE3
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE4LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05MTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tOTE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE4Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTguaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxOS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTkuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkxOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05Mi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyLmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIwLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
MjAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05MjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjEtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05MjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyMS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyMi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTkyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyMi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIyLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTkyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyNC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyNS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyNS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTkyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTI1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI2LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjctZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjcuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyNy5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI4LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI5LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI5
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjkuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05My1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05My5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05My5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTMwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTMwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTMxLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTMxLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzEuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05MzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05MzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkzMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzQu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05MzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzNS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTkzNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzNi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTkzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzNi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTkzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM2Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzctZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTkzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzgtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzOS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkzOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzOS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkzOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM5
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDAuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0MC5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDIt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQyLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQyLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDMuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0My5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTk0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0NC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTk0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0NC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ1LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ1
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDUuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05NDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ3
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0Ny1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0Ny5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ4LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05NDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tOTQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ4Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDguaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0OS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDkuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk0OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NS1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUwLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05NTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1MS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTEtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05NTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1Mi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1Mi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUyLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1NC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1NS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk1NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1NS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU2LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTctZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTcuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1Ny5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU4LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU5LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU5
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTkuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05Ni1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05Ni5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05Ni5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTYwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2MC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2MC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTYwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTYxLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTYxLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjEuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05NjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2Mi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2My1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2My5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjQu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05NjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2NS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk2NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2Ni1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTk2Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2Ni5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY2Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjctZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTk2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjgtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2OS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk2OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2OS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY5
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05Ny5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzAuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3MC5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzIt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTcyLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTcyLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzMuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3My5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTk3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3NC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTk3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3NC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTc0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc1LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc1
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzUuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NzYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc3
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3Ny1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3Ny5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc4LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05NzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tOTc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc4Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzguaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3OS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzkuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk3OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgwLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
ODAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05ODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4MS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODEtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4Mi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4Mi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgyLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05ODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4NC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4NS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk4NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4NS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg2LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODctZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODcuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4Ny5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg4LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg5LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg5
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODkuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OS5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTkwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5MC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5MC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTkwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTkxLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05OTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTkxLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTEuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05OTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5Mi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5My1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5My5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTQu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05OTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5NS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05OTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk5NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5Ni1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTk5Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5Ni5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk2Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTctZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTk5OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTgtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5OS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5OS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk5
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405177</attachid>
            <date>2020-07-24 14:33:47 -0700</date>
            <delta_ts>2020-07-24 14:33:47 -0700</delta_ts>
            <desc>Data collection (4)</desc>
            <filename>bug-214688-20200724143341.patch</filename>
            <type>text/plain</type>
            <size>2992204</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0ODU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGQ3ZDQ0Mzk0NWQ0N2U0Nzk4
ZGQ4NWRmYTA2OTI0MWVhOGQ4MDU3YjUuLjc4NTQxMjFlMWY2ZDc1NzQwNmU2NzI5YjRiMzZlN2Vi
M2JiN2M0ODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMDctMjQgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTiAocjI2
NDY5MCk6IFsgaU9TIHdrMiBdIGVkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGlzIGEgZmxha3kgZmFpbHVyZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0Njg4CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS82NTk5MzY4Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1t
OgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9zaW5nbGVUYXBJZGVudGlmaWVkOl0pOgorICAg
ICAgICAoLVtXS0NvbnRlbnRWaWV3IF9zaW5nbGVUYXBSZWNvZ25pemVkOl0pOgorICAgICAgICAq
IFVJUHJvY2Vzcy9pb3MvV0tTeW50aGV0aWNUYXBHZXN0dXJlUmVjb2duaXplci5tbToKKyAgICAg
ICAgKC1bV0tTeW50aGV0aWNUYXBHZXN0dXJlUmVjb2duaXplciBzZXRTdGF0ZTpdKToKKwogMjAy
MC0wNy0yNCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIENyYXNo
IHVuZGVyIFByZWNvbm5lY3RUYXNrOjpzdGFydCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQppbmRleCBiMDQxYzI5
MjkxZTJhM2MyODY3NjM2OWI1MDBjZmMxYzcyOTY1ZDZlLi4xYTc0ZjljODUyMDJhOWU3Y2FhODNk
MjE1MzcyN2M4MzA0NjIwN2Q4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9p
b3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KQEAgLTI3MjgsNiArMjcyOCw3IEBA
IC0gKHZvaWQpX2VuZFBvdGVudGlhbFRhcEFuZEVuYWJsZURvdWJsZVRhcEdlc3R1cmVzSWZOZWNl
c3NhcnkKIAogLSAodm9pZClfc2luZ2xlVGFwSWRlbnRpZmllZDooVUlUYXBHZXN0dXJlUmVjb2du
aXplciAqKWdlc3R1cmVSZWNvZ25pemVyCiB7CisgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiAlcyIs
IF9fUFJFVFRZX0ZVTkNUSU9OX18pOwogICAgIEFTU0VSVChnZXN0dXJlUmVjb2duaXplciA9PSBf
c2luZ2xlVGFwR2VzdHVyZVJlY29nbml6ZXIpOwogICAgIEFTU0VSVCghX3BvdGVudGlhbFRhcElu
UHJvZ3Jlc3MpOwogICAgIFtzZWxmIF9yZXNldElzRG91YmxlVGFwUGVuZGluZ107CkBAIC0yODAz
LDYgKzI4MDQsNyBAQCAtICh2b2lkKV9kaWRDb21wbGV0ZVN5bnRoZXRpY0NsaWNrCiAKIC0gKHZv
aWQpX3NpbmdsZVRhcFJlY29nbml6ZWQ6KFVJVGFwR2VzdHVyZVJlY29nbml6ZXIgKilnZXN0dXJl
UmVjb2duaXplcgogeworICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogJXMiLCBfX1BSRVRUWV9GVU5D
VElPTl9fKTsKICAgICBBU1NFUlQoZ2VzdHVyZVJlY29nbml6ZXIgPT0gX3NpbmdsZVRhcEdlc3R1
cmVSZWNvZ25pemVyKTsKIAogICAgIGlmICghW3NlbGYgaXNGaXJzdFJlc3BvbmRlcl0pCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tTeW50aGV0aWNUYXBHZXN0dXJl
UmVjb2duaXplci5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1N5bnRoZXRpY1Rh
cEdlc3R1cmVSZWNvZ25pemVyLm1tCmluZGV4IDYwZmJjYWQwYmY1MTc4YTQwOTFhODcyOGUzOWVh
NjkzNTIzOWFjZDguLmYxMGM5ODU3NDcyNWI1YjJhNzdlNTZjZWNiZDFiMDJkMDczYTMwZGQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1N5bnRoZXRpY1RhcEdlc3R1
cmVSZWNvZ25pemVyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1N5bnRo
ZXRpY1RhcEdlc3R1cmVSZWNvZ25pemVyLm1tCkBAIC02OCw2ICs2OCwxMiBAQCAtICh2b2lkKXNl
dFN0YXRlOihVSUdlc3R1cmVSZWNvZ25pemVyU3RhdGUpc3RhdGUKICAgICBlbHNlIGlmIChzdGF0
ZSA9PSBVSUdlc3R1cmVSZWNvZ25pemVyU3RhdGVGYWlsZWQpCiAgICAgICAgIFtfZ2VzdHVyZUZh
aWxlZFRhcmdldCBwZXJmb3JtU2VsZWN0b3I6X2dlc3R1cmVGYWlsZWRBY3Rpb24gd2l0aE9iamVj
dDpzZWxmXTsKICAgICBbc3VwZXIgc2V0U3RhdGU6c3RhdGVdOworICAgIGlmIChzdGF0ZSA9PSBV
SUdlc3R1cmVSZWNvZ25pemVyU3RhdGVFbmRlZCAmJiBzZWxmLnN0YXRlID09IFVJR2VzdHVyZVJl
Y29nbml6ZXJTdGF0ZUZhaWxlZCkgeworICAgICAgICBXVEZMb2dBbHdheXMoIjxXSz46ICoqKiBT
SU5HTEUgVEFQIEZBSUxFRCBUTyBSRUNPR05JWkUhICVAICoqKiIsIHNlbGYpOworICAgICAgICBm
b3IgKE5TU3RyaW5nICpzIGluIFtOU1RocmVhZCBjYWxsU3RhY2tTeW1ib2xzXSkKKyAgICAgICAg
ICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogJUAiLCBzKTsKKyAgICAgICAgV1RGTG9nQWx3YXlzKCI8
V0s+OiAiKTsKKyAgICB9CiB9CiAKIC0gKHZvaWQpcmVzZXQKZGlmZiAtLWdpdCBhL1Rvb2xzL0No
YW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBiN2ZjZmM5NDQxOWY3ZGVhZWQzMWEyNTYz
NWUzZTJjMzBmY2Y4MWM1Li5iNzJmZjM0MDc4NzExYjc5NTA2YTI5N2EyMDdkYmNhNWFmY2FhYjVi
IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTYgQEAKKzIwMjAtMDctMjQgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBs
ZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTiAocjI2NDY5MCk6IFsgaU9TIHdrMiBdIGVkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
IGlzIGEgZmxha3kgZmFpbHVyZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjE0Njg4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82NTk5MzY4Mz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYktpdFRl
c3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxl
cjo6cnVuVGVzdCk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlTY3JpcHRDb250
cm9sbGVySU9TLm1tOgorICAgICAgICAoV1RSOjpVSVNjcmlwdENvbnRyb2xsZXJJT1M6OnNpbmds
ZVRhcEF0UG9pbnRXaXRoTW9kaWZpZXJzKToKKwogMjAyMC0wNy0yNCAgWW91ZW5uIEZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHNvbWUgbG9nZ2luZyB0byBkZWJ1ZyBX
ZWJLaXQuUXVvdGFEZWxlZ2F0ZSB0ZXN0IHRoYXQgdGltZXMgb3V0IG9uIGEgRGVidWcgYm90CmRp
ZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcCBiL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCmluZGV4IDFiMTdiYWE4NWU3
OWNkZTJiYmE0ZjQ4MGRmMzg3NGE2YWFjNzM1MjMuLjdlZWI4NWQwM2IzNThjZDE1MzYwMTk4YTA2
N2U4YThmYzg5ZmE5MmEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENv
bnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIu
Y3BwCkBAIC0xODIzLDYgKzE4MjMsOCBAQCBib29sIFRlc3RDb250cm9sbGVyOjpydW5UZXN0KGNv
bnN0IGNoYXIqIGlucHV0TGluZSkKICAgICBXS1JldGFpblB0cjxXS1VSTFJlZj4gd2tVUkwgPSBh
ZG9wdFdLKGNyZWF0ZVRlc3RVUkwoY29tbWFuZC5wYXRoT3JVUkwuY19zdHIoKSkpOwogICAgIG1f
Y3VycmVudEludm9jYXRpb24gPSBtYWtlVW5pcXVlPFRlc3RJbnZvY2F0aW9uPih3a1VSTC5nZXQo
KSwgb3B0aW9ucyk7CiAKKyAgICBXVEZMb2dBbHdheXMoIjxXSz46IFJ1bm5pbmcgJXMiLCBjb21t
YW5kLnBhdGhPclVSTC5jX3N0cigpKTsKKwogICAgIGlmIChjb21tYW5kLnNob3VsZER1bXBQaXhl
bHMgfHwgbV9zaG91bGREdW1wUGl4ZWxzRm9yQWxsVGVzdHMpCiAgICAgICAgIG1fY3VycmVudElu
dm9jYXRpb24tPnNldElzUGl4ZWxUZXN0KGNvbW1hbmQuZXhwZWN0ZWRQaXhlbEhhc2gpOwogCmRp
ZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9VSVNjcmlwdENvbnRyb2xsZXJJ
T1MubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9VSVNjcmlwdENvbnRyb2xsZXJJT1Mu
bW0KaW5kZXggN2ZhZWU2NDQ1YTcwYmVhMDFjZTQ0MTIzYjc3MTY4ODMwNjAyZDNiNi4uMGRmNTRl
NjQ5MDNlODdhZGY3ZGQxYzNkMzA3ZGQzMzFmODcyYzZjNCAxMDA2NDQKLS0tIGEvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9pb3MvVUlTY3JpcHRDb250cm9sbGVySU9TLm1tCisrKyBiL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvaW9zL1VJU2NyaXB0Q29udHJvbGxlcklPUy5tbQpAQCAtMzAzLDYgKzMw
Myw3IEBAIHZvaWQgVUlTY3JpcHRDb250cm9sbGVySU9TOjpzaW5nbGVUYXBBdFBvaW50V2l0aE1v
ZGlmaWVycyhXZWJDb3JlOjpGbG9hdFBvaW50IGxvCiAgICAgZm9yIChhdXRvJiBtb2RpZmllckZs
YWcgOiBtb2RpZmllckZsYWdzKQogICAgICAgICBbW0hJREV2ZW50R2VuZXJhdG9yIHNoYXJlZEhJ
REV2ZW50R2VuZXJhdG9yXSBrZXlEb3duOm1vZGlmaWVyRmxhZ107CiAKKyAgICBXVEZMb2dBbHdh
eXMoIjxXSz46IFNlbmRpbmcgc2luZ2xlIHRhcCBhdCAoJS4wZiwgJS4wZikiLCBfX1BSRVRUWV9G
VU5DVElPTl9fLCBsb2NhdGlvbi54KCksIGxvY2F0aW9uLnkoKSk7CiAgICAgW1tISURFdmVudEdl
bmVyYXRvciBzaGFyZWRISURFdmVudEdlbmVyYXRvcl0gdGFwOmdsb2JhbFRvQ29udGVudENvb3Jk
aW5hdGVzKHdlYlZpZXcoKSwgbG9jYXRpb24ueCgpLCBsb2NhdGlvbi55KCkpIGNvbXBsZXRpb25C
bG9jazpbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWZQdHIoKnRoaXMpLCBtb2RpZmllckZs
YWdzID0gV1RGTW92ZShtb2RpZmllckZsYWdzKSwgYmxvY2sgPSBXVEZNb3ZlKGJsb2NrKV0gKCkg
bXV0YWJsZSB7CiAgICAgICAgIGlmICghbV9jb250ZXh0KQogICAgICAgICAgICAgcmV0dXJuOwpA
QCAtMzExLDYgKzMxMiw3IEBAIHZvaWQgVUlTY3JpcHRDb250cm9sbGVySU9TOjpzaW5nbGVUYXBB
dFBvaW50V2l0aE1vZGlmaWVycyhXZWJDb3JlOjpGbG9hdFBvaW50IGxvCiAgICAgICAgICAgICBb
W0hJREV2ZW50R2VuZXJhdG9yIHNoYXJlZEhJREV2ZW50R2VuZXJhdG9yXSBrZXlVcDptb2RpZmll
ckZsYWdzW2ldXTsKICAgICAgICAgfQogICAgICAgICBbW0hJREV2ZW50R2VuZXJhdG9yIHNoYXJl
ZEhJREV2ZW50R2VuZXJhdG9yXSBzZW5kTWFya2VySElERXZlbnRXaXRoQ29tcGxldGlvbkJsb2Nr
OmJsb2NrLmdldCgpXTsKKyAgICAgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiAuLi5kb25lIHNlbmRp
bmcgc2luZ2xlIHRhcC4iKTsKICAgICB9XTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDAtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDAu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMDAt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTAwMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEw
MDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDAwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xMDAwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTAxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTAxLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMi5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTEwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTAzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTEwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDQuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xMDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwNS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xMDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTEwNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwNi1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwNi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDcu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwOC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDguaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTEwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwOS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTEwOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwOS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA5Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xMTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExMC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTAtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xMTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTAuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExMS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTExMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExMS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTExMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTExLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTItZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTEyLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMTIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTExMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTMuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExMy5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEx
NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTExNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEx
NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTE0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTUt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE1Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTExNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xMTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTYuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExNi5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTExNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExNy1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTExNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTE3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xMTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE4
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTguaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExOS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xMTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTExOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMi1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIwLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIwLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjAuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xMjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyMS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xMjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTEyMS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyMi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyMi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIyLmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIzLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xMjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyNC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyNS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyNS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTEyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI1Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMjYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjctZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjcu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyNy5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyOC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTEyOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyOC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTEyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjktZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI5LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMy5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTEzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMwLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTEzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTMwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMxLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMi5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTEzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTEzMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzQuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xMzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzNS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xMzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTEzNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzNi1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzNi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzcu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzOC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzguaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTEzOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzOS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTEzOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzOS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEzOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM5Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0MC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDAtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDAuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQxLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDItZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQyLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNDIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDMuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0My5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0
NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0
NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDUt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ1Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xNDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDYuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xNDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0Ni5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0Ny1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0Ny5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTQ3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xNDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ4
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDguaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0OS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE0OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUwLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUwLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTAuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xNTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xNTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE1MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Mi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Mi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUyLmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUzLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xNTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1NC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1NS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE1NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1NS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU1Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xNTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTctZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTcu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Ny5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1OC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTE1OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1OC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTktZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU5LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNi5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYwLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTYwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYxLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xNjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Mi5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTE2My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2My1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTE2My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2My5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xNjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjQuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xNjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2NS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xNjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE2NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Ni5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjcu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2OC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjguaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2OS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE2OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2OS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY5Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3MC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzAtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzAuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTcxLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzItZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTcyLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNzIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzMuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3My5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3
NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE3NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3
NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTc0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzUt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc1Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzYuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xNzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3Ni5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3Ny1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3Ny5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTc3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xNzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc4
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzguaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE3OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTgwLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xODAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTgwLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODAuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE4MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Mi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Mi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTgyLmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTgzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTgzLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
ODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4NC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4NS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE4NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4NS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg1Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xODYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODctZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODcu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Ny5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4OC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTE4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4OC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODktZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg5LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkwLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTkwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
OTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkxLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xOTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xOTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Mi5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTE5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5My1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTE5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5My5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xOTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTQuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xOTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5NS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xOTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE5NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Ni5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTcu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xOTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5OC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xOTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTguaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5OS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5OS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk5Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMi5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjAwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIw
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAwLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yMDEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yMDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yMDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMy5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAzLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMDQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
MDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwNS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIw
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTIwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIw
Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjA2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDgtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTIwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0yMDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwOC5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIwOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwOS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwOS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjA5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjEuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTAtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTAuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yMTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIx
MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTIxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjExLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxMS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTIxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxMS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjEyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjEyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjEyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTIuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yMTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxMy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yMTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIxMy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE0Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE1Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
MTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yMTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTYtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yMTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTYuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTIxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNy5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE3Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTgtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMTguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTIxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTktZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTku
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxOS5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjAtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIwLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIwLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yMjAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjEtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIyMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yMjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyMS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTIyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIyLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTIyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjIyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
MjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjQuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyNC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTIyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI1LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyNS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTIyNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyNS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjI1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI2LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MjI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI2Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjYuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yMjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyNy1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIyNy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MjI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyOC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyOC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI5Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjku
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjMwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIz
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMwLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yMzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yMzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yMzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMy5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIzMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMzLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjM0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIzNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
MzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzNS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIz
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTIzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIz
Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjM2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzgtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTIzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0yMzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzOC5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzOS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzOS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjM5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDAtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDAuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0
MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTI0MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0MS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTI0MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDIuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yNDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0My1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yNDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI0My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0NC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0NC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ1Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
NDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDYtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDYuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0Ny1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTI0Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0Ny5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI0Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ3Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjQ4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDgtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNDguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTI0OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDktZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDku
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0OS5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTAtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUwLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUwLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTEtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yNTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1MS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTI1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUyLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTI1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjUyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
NTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTQuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1NC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTI1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU1LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1NS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTI1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1NS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU2LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MjU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU2Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTYuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yNTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1Ny1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI1Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MjU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1OC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1OC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjU5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU5Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTku
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjYwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2MC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYwLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yNjEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yNjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2Mi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yNjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2My1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2My5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYzLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjY0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNjQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2NS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTI2Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2
Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjY2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjgtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTI2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0yNjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2OC5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2OS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjY5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNy5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzAtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzAuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3
MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTI3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjcxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3MS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTI3MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjcyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjcyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzIuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yNzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3My1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yNzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI3My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3NC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3NC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc0Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc1Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
NzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNzYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzYtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzYuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3Ny1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjc3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTI3Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3Ny5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc3Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzgtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNzguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTI3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzktZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzku
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3OS5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODAtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgwLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgwLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yODAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODEtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
ODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yODEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4MS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTI4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgyLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTI4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjgyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
ODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODQuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4NC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTI4NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg1LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4NS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTI4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4NS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg2LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yODYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Mjg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg2Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODYuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4Ny1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI4Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Mjg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4OC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4OC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg5Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODku
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjktZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5MC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjkwLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjkx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjkx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yOTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yOTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5Mi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yOTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5My1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI5My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5My5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI5My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjkzLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjk0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yOTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI5NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
OTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5NS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTI5Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5
Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjk2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTgtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTI5OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0yOTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yOTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5OC5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI5OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI5OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5OS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjk5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMC5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAwLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzAwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAxLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAxLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDEuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDIuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMw
Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTMwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwMy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTMwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwMy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDQuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zMDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwNS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zMDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTMwNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwNi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwNi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA2Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA3LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwOC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwOS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMwOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwOS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA5Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMx
MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTAtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTAuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxMS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTMxMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxMS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTMxMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzExLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzEyLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzEyLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMTIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTMxMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTMuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxMy5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTMxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTMxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzE0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE1LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE1Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTYtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zMTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTYuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNi5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTMxNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE3LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTMxNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzE3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE4LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zMTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MzE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE4Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTguaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxOS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMxOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIwLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIwLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjAuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zMjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyMS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zMjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjEuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTMyMS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyMi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMy
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIyLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zMjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyNC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyNS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTMyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI1Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjYtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMjYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjct
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyNy5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMy
OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTMyOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMy
OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjkt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI5Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMy5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMy5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMwLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzMwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMxLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMxLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzEuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzIuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMz
Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTMzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzMy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTMzMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzMy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzQuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zMzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzNS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zMzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTMzNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzNi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzNi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM2Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM3LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzOC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzOS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMzOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzOS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMzOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM5Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0
MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDAtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDAuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0MS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0MS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQxLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQyLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQyLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNDIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDMuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0My5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTM0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTM0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ1LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ1Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDYtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zNDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDYuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zNDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0Ni5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ3LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0Ny1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0Ny5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzQ3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ4LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zNDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MzQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ4Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDguaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM0OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUwLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUwLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTAuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zNTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1MS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zNTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTEuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM1MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Mi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUyLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zNTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1NC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1NS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM1NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1NS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU1Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTYtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zNTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTct
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Ny5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1
OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTM1OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1
OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTkt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU5Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNi5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYwLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzYwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYxLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYxLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjEuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zNjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjIuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2
Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTM2My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2My1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTM2My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2My5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zNjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjQuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zNjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2NS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zNjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM2NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2Ni1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2Ni5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY2Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY3LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2OC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2OS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM2OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2OS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY5Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3
MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzAtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzAuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3MS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3MS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzcxLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzcyLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzcyLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNzIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzMuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3My5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTM3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTM3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzc0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc1LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc1Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzYtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzYuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zNzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3Ni5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc3LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3Ny1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3Ny5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzc3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc4LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zNzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Mzc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc4Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzguaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM3OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzgwLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zODAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzgwLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODAuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4MS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODEuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM4MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Mi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzgyLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzgz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzgz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4NC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4NS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM4NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4NS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg1Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODYtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zODYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODct
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Ny5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4
OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTM4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4
OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODkt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg5Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkwLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzkwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zOTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkxLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkxLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTEuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zOTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTIuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zOTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5
Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTM5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5My1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTM5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5My5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zOTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTQuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zOTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5NS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zOTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM5NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5Ni1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5Ni5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk2Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk3LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zOTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5OC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zOTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5OS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5OS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk5Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDAtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDAtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwMC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDAwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQw
MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwMC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDAwLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00MDEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQw
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwMy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwMy5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDAzLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MDQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDUuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00MDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwNS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA2LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDA2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA3Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDgtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi00MDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDguaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwOC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQwOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA5LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwOS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwOS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDA5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDEtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDEuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTAt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00MTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQxMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDExLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxMS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxMS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDEyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDEyLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDEyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTIuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00MTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxMy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00MTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQxMy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQx
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE0Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00MTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00MTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTYtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTYuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNy5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE3Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTgtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MTguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTkuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxOS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQy
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQy
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjAtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIwLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00MjAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjEtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQyMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00MjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyMS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIyLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDIyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00MjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjMuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjQuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQy
NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyNS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQyNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDI1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI2LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI2Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjYuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00MjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyNy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQyNy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyOC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyOC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI4Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI5Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDMtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzMC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDMwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQz
MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzMC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDMwLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00MzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQz
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzMy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzMy5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQzMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDMzLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDM0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQzNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzUuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00MzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzNS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM2LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDM2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM3Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzgtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi00MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzguaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzOC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM5LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzOS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzOS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDM5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDAt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQ0MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQxLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0MS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQ0MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0MS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQyLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDIuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00NDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0My1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ0My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ0Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00NDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0Ni1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDYtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDYuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0Ny1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQ0Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0Ny5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ0Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ3Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDQ4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDgtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00NDguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQ0OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDkuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0OS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTAtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUwLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTEtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00NTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1MS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQ1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUyLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQ1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDUyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00NTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTMuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00NTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTQuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1
NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQ1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1NS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQ1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1NS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU2LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00NTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU2Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTYuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00NTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1Ny1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ1Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1OC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1OC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU4Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDU5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU5Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDYtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2MC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDYwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2
MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2MC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDYwLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00NjEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2My1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2My5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDYzLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDY0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NjQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjUuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2NS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY2LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDY2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY3Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjgtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi00NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjguaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00NjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2OC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY5LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2OS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2OS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDY5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzAt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQ3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcxLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3MS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQ3MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3MS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcyLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzIuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00NzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3My1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ3My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc0Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00NzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NzYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3Ni1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzYtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzYuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3Ny1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDc3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQ3Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3Ny5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc3Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzgtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00NzguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQ3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00Nzkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzkuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3OS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODAtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgwLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00ODAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODEtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00ODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00ODEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4MS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQ4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgyLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQ4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDgyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00ODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODMuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODQuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00ODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4
NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQ4NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4NS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQ4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4NS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg2LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00ODYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg2Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODYuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00ODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4Ny1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00ODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ4Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4OC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4OC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg4Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg5Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
ODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDktZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5MC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5
MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5MC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDkwLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00OTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5My1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ5My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5My5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ5My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDkzLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDk0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00OTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ5NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTUuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00OTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5NS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk2LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDk2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
OTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk3Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTgtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi00OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTguaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00OTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5OC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ5OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk5LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5OS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ5OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5OS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDk5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MC5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MC5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAwLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTAwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAx
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDEuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTUwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwMy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTUwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwMy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDQuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01MDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwNS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01MDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTUwNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwNi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUw
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA2Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA3
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwOC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwOS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUwOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwOS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA5Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTAtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxMS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTUxMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxMS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTUxMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTEx
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTItZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTEyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTEyLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MTIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTUxMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxMy5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTUxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTUxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTE0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE1LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTUuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTYtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01MTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTYuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUx
Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTUxNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE3LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxNy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTUxNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxNy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTE3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01MTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNTE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTguaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxOS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUxOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01Mi1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTIwLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTIwLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjAuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01MjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyMS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01MjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjEuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTUyMS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyMi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUy
Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyMi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTIyLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUy
NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyNS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyNS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTUyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI1Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjYtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI2LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI2Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MjYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyNy5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI5LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI5Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01My1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01My5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01My5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMwLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTMwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMx
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzEuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUzMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTUzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzMy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTUzMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzMy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzQuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01MzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzNS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTUzNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzNi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUz
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM2Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM3
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzOC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzOS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUzOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzOS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUzOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM5Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDAtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0MS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0MS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQx
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDItZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQyLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NDIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0My5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTU0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTU0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ1LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDUuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDYtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01NDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDYuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01NDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0
Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ3LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0Ny5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTQ3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01NDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNTQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDguaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0OS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU0OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTUuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTUwLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTUwLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTAuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01NTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1MS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01NTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTEuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU1MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1
Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTUyLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1
NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1NS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU1NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1NS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU1Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTYtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU2LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU2Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01NTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1Ny5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU5LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU5Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01Ni1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01Ni5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01Ni5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYwLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTYwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYx
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjEuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01NjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTU2My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2My1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTU2My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2My5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01NjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjQuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01NjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2NS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU2NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2Ni1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY2Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY3
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2OC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2OS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU2OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2OS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY5Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzAtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3MS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3MS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTcx
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzItZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTcyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTcyLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NzIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3My5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTU3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTU3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTc0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc1LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzUuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzYtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzYuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01NzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3
Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc3LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3Ny5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTc3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01NzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNTc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzguaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3OS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU3OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTgwLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01ODAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTgwLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODAuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01ODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4MS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODEuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU4MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4
Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTgyLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01ODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4
NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4NS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU4NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4NS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg1Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODYtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg2LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg2Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01ODYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4Ny5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg5LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg5Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkwLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTkwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01OTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkx
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTEuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01OTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01OTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTU5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5My1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTU5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5My5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01OTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTQuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01OTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5NS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01OTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU5NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5Ni1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk2Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk3
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01OTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5OC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01OTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5OS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5OS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk5Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwMC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjAwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYwMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwMC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAwLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDEtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02MDEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAz
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MDQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDUuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02MDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwNS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA2LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjA2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi02MDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYw
OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYwOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA5LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwOS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwOS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjA5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
MTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
MTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYxMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEx
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEyLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjEyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTIuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02MTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02MTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYxMy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxNC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYx
NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxNC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjE0Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NjE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NjE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02MTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYx
Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTYtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTYuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxNy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTYxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxNy5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjE3Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjE4LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjE4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MTguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTktZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTYxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTkuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxOS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYy
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjAtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIwLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIwLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjEtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYyMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02MjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyMS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTYyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTYyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjIyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02MjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjMuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjQu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTYyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI1LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyNS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTYyNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyNS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI2LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI2Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjYuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02MjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyNy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYyNy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyOC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYy
OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI4Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI5
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI5
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzMC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjMwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYzMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzMC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMwLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzEtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02MzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYzMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMz
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjM0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYzNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzUuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02MzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzNS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM2LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjM2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi02MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYz
OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM5LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzOS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzOS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjM5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQx
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0MS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0MS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQyLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDIuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02NDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0My1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY0My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0NC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0
NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0NC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQ0Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NjQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NjQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02NDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0
Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDYtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDYuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0Ny1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTY0Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0Ny5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY0Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQ3Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjQ4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQ4LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQ4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02NDguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDktZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTY0OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDkuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0OS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTAtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUwLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUwLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTEtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02NTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1MS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTY1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTY1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjUyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02NTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTMuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02NTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTQu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTY1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU1LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1NS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTY1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1NS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU2LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02NTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU2Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTYuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02NTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1Ny1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY1Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1OC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1
OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU4Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU5
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjU5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU5
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2MC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjYwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2MC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYwLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjEtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02NjEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2My1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2My5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYz
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjY0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NjQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjUuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2NS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY2LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjY2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi02NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02NjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2
OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY5LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2OS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2OS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjY5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjctZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcx
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3MS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3MS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcyLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzIuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02NzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3My1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY3My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3NC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3
NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3NC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjc0Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Njc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Njc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02NzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3
Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzYtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzYuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3Ny1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjc3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTY3Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3Ny5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjc3Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjc4LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjc4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02NzguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzktZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTY3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzkuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3OS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODAtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgwLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgwLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODEtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02ODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02ODEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4MS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTY4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTY4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjgyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02ODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODMuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODQu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02ODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTY4NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg1LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4NS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTY4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4NS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg2LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02ODYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg2Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODYuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02ODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4Ny1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02ODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY4Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4OC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4
OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg4Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg5
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg5
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02ODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjktZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjktZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5MC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5MC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjkwLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTEtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02OTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5My1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY5My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5My5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY5My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjkz
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjk0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02OTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY5NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTUuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02OTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5NS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk2LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjk2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02OTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi02OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02OTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5
OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY5OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk5LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5OS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY5OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5OS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjk5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MC5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTcwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MC5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTcwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTcwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzAwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDEuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
MDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
MDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTcwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzA0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzA0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDQuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03MDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwNS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03MDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTcwNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcw
Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTcwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzA2Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcw
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDgtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwOS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTcwOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwOS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTcwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzA5Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTcxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTAtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTAu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxMC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxMS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTcxMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxMS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTcxMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzEyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzEyLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTcxMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTMuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxMy5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTcxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTcxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzE0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE1LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE1
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTUuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTYt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03MTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTYu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTcxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTcxNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE3LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxNy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTcxNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxNy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE4LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03MTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNzE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE4Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTguaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxOS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTkuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTcxOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03Mi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIwLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIwLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjAu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03MjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyMS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjEtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03MjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjEuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTcyMS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyMi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTcyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyMi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTcyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIyLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTcyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyNS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTcyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyNS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTcyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI1
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjYtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI2Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MjYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjctZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTcyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyNy5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTcyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI4LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTcyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjkuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03My1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03My5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTczLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03My5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTczMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTczMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzMwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzEuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
MzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
MzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTczMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzM0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzM0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzQuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03MzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczNS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTczNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcz
Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTczNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzM2Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcz
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzgtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczOS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTczOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczOS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTczOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzM5Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDAtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDAu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0MC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0MS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0MS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQyLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDMuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0My5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTc0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTc0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ1LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ1
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDUuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDYt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03NDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDYu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03NDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ3LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0Ny1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0Ny5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ4LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03NDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNzQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ4Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDguaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0OS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDkuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc0OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUwLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUwLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTAu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03NTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1MS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTEtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03NTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTEuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc1MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1Mi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1Mi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUyLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1NS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc1NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1NS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU1
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTYtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU2Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03NTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTctZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1Ny5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU4LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTkuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03Ni1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03Ni5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03Ni5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2MC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2MC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzYwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjEuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
NjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03NjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2My1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzY0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03NjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzY0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjQuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03NjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2NS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc2NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2Ni1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2
Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2Ni5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzY2Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjgtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2OS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc2OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2OS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzY5Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzAtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzAu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3MC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3MS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3MS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzcyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzcyLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzMuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3My5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTc3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTc3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzc0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc1LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc1
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzUuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzYt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzYu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03NzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc3LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3Ny1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3Ny5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc4LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03NzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNzc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc4Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzguaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3OS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzkuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc3OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzgwLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzgwLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODAu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03ODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4MS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODEtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODEuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc4MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4Mi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4Mi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzgyLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03ODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4NS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc4NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4NS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg1
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODYtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg2Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03ODYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODctZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4Ny5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg4LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODkuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OS5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5MC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5MC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzkwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03OTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTEuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
OTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03OTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5My1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzk0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03OTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzk0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTQuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03OTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5NS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03OTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc5NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5Ni1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5
Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5Ni5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzk2Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Nzk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Nzk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTgtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5OS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5OS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzk5Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwMC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODAwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgwMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwMC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAwLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDEtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04MDEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwMi5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwMy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwMy5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDUuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04MDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwNS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODA2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA3
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDcuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDgt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi04MDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDgu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgwOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA5LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwOS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwOS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODEtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODEuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04MTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04MTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgxMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODEyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODEyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODEyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTIu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04MTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMy1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04MTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgxMy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxNC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxNC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE0Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04MTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgxNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTYuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxNy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTgxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxNy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE3
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTgtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE4LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE4Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MTguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTktZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTgxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTkuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxOS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Mi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjAt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIwLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgyMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04MjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyMS5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTgyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIyLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyMi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTgyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyMi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODIyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04MjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIzLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjMuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
MjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI1
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjYuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04MjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjcuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgyNy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyOC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgy
OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyOC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI4Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzMC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODMwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgzMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzMC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMwLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzEtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04MzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzMi5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzMy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzMy5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgzMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODM0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgzNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzUuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04MzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzNS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODM2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM3
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzcuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Mzgt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi04MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Mzgu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgzOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM5LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzOS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzOS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0MS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0MS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDIu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04NDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0My1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg0My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0NC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0NC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ0Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04NDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDYuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0Ny1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTg0Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0Ny5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg0Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ3
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODQ4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDgtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ4LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ4Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04NDguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDktZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTg0OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDkuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0OS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTAt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUwLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04NTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1MS5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTg1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUyLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTg1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1Mi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODUyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04NTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUzLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTMuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
NTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04NTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU1
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1NS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04NTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTYuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04NTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1Ny1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTcuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg1Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1OC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1
OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1OC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU4Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODU5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODYwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYwLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjEtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04NjEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2Mi5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2My1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2My5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODY0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjUuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2NS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODY2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY3
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjcuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Njgt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi04NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Njgu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04NjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY5LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2OS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2OS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODctZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODcuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3MS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3MS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODcyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODcyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzIu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04NzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3My1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg3My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3NC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg3NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3NC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc0Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04NzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzYuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3Ny1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTg3Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3Ny5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc3
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzgtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc4LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc4Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04NzguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzktZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTg3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzkuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3OS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODAt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgwLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04ODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04ODEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4MS5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTg4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgyLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTg4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4Mi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODgyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04ODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgzLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODMuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
ODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg1
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4NS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04ODYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODYuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04ODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4Ny1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04ODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODcuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg4Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4OC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4
OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4OC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg4Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04ODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODkt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODktZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODkwLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTEtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04OTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5Mi5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5My1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg5My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5My5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg5My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODk0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg5NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTUuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04OTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5NS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODk2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04OTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk3
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTcuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTgt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi04OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTgu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04OTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg5OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk5LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5OS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg5OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5OS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOS5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MC5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTAwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTAwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTAxLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTAxLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDEuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05MDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05MDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDQu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05MDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwNS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05MDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTkwNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwNi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTkwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwNi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTkwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA2Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDctZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTkwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDgtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwOS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkwOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwOS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA5
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTAuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
MTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxMC5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkx
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTkxMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkx
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTIt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTEyLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTEyLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTkxMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTMuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxMy5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTkxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTkxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTE0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE1LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE1
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTUuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
MTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05MTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTkxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE3
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE4LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05MTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tOTE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE4Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTguaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxOS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTkuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkxOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05Mi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyLmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIwLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
MjAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05MjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjEtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05MjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyMS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyMi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTkyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyMi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIyLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTkyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyNC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyNS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyNS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTkyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTI1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI2LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjctZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjcuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyNy5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI4LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI5LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI5
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjkuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05My1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05My5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05My5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTMwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTMwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTMxLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTMxLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzEuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05MzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05MzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkzMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzQu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05MzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzNS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTkzNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzNi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTkzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzNi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTkzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM2Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzctZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTkzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzgtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzOS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkzOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzOS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkzOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM5
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDAuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0MC5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDIt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQyLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQyLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDMuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0My5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTk0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0NC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTk0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0NC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ1LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ1
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDUuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05NDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ3
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0Ny1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0Ny5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ4LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05NDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tOTQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ4Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDguaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0OS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDkuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk0OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NS1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUwLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05NTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1MS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTEtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05NTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1Mi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1Mi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUyLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1NC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1NS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk1NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1NS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU2LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTctZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTcuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1Ny5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU4LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU5LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU5
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTkuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05Ni1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05Ni5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05Ni5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTYwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2MC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2MC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTYwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTYxLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTYxLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjEuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05NjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2Mi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2My1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2My5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjQu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05NjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2NS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk2NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2Ni1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTk2Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2Ni5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY2Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjctZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTk2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjgtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2OS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk2OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2OS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY5
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05Ny5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzAuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3MC5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzIt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTcyLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTcyLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzMuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3My5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTk3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3NC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTk3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3NC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTc0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc1LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc1
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzUuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NzYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc3
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3Ny1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3Ny5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc4LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05NzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tOTc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc4Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzguaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3OS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzkuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk3OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgwLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
ODAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05ODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4MS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODEtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4Mi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4Mi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgyLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05ODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4NC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4NS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk4NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4NS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg2LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODctZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODcuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4Ny5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg4LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg5LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg5
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODkuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OS5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTkwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5MC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5MC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTkwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTkxLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05OTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTkxLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTEuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05OTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5Mi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5My1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5My5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTQu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05OTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5NS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05OTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk5NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5Ni1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTk5Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5Ni5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk2Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTctZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTk5OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTgtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5OS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5OS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk5
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405178</attachid>
            <date>2020-07-24 14:34:33 -0700</date>
            <delta_ts>2020-07-24 14:34:33 -0700</delta_ts>
            <desc>Data collection (5)</desc>
            <filename>bug-214688-20200724143426.patch</filename>
            <type>text/plain</type>
            <size>2992204</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0ODU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGQ3ZDQ0Mzk0NWQ0N2U0Nzk4
ZGQ4NWRmYTA2OTI0MWVhOGQ4MDU3YjUuLjc4NTQxMjFlMWY2ZDc1NzQwNmU2NzI5YjRiMzZlN2Vi
M2JiN2M0ODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMDctMjQgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTiAocjI2
NDY5MCk6IFsgaU9TIHdrMiBdIGVkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGlzIGEgZmxha3kgZmFpbHVyZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0Njg4CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS82NTk5MzY4Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1t
OgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9zaW5nbGVUYXBJZGVudGlmaWVkOl0pOgorICAg
ICAgICAoLVtXS0NvbnRlbnRWaWV3IF9zaW5nbGVUYXBSZWNvZ25pemVkOl0pOgorICAgICAgICAq
IFVJUHJvY2Vzcy9pb3MvV0tTeW50aGV0aWNUYXBHZXN0dXJlUmVjb2duaXplci5tbToKKyAgICAg
ICAgKC1bV0tTeW50aGV0aWNUYXBHZXN0dXJlUmVjb2duaXplciBzZXRTdGF0ZTpdKToKKwogMjAy
MC0wNy0yNCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIENyYXNo
IHVuZGVyIFByZWNvbm5lY3RUYXNrOjpzdGFydCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQppbmRleCBiMDQxYzI5
MjkxZTJhM2MyODY3NjM2OWI1MDBjZmMxYzcyOTY1ZDZlLi4xYTc0ZjljODUyMDJhOWU3Y2FhODNk
MjE1MzcyN2M4MzA0NjIwN2Q4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9p
b3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KQEAgLTI3MjgsNiArMjcyOCw3IEBA
IC0gKHZvaWQpX2VuZFBvdGVudGlhbFRhcEFuZEVuYWJsZURvdWJsZVRhcEdlc3R1cmVzSWZOZWNl
c3NhcnkKIAogLSAodm9pZClfc2luZ2xlVGFwSWRlbnRpZmllZDooVUlUYXBHZXN0dXJlUmVjb2du
aXplciAqKWdlc3R1cmVSZWNvZ25pemVyCiB7CisgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiAlcyIs
IF9fUFJFVFRZX0ZVTkNUSU9OX18pOwogICAgIEFTU0VSVChnZXN0dXJlUmVjb2duaXplciA9PSBf
c2luZ2xlVGFwR2VzdHVyZVJlY29nbml6ZXIpOwogICAgIEFTU0VSVCghX3BvdGVudGlhbFRhcElu
UHJvZ3Jlc3MpOwogICAgIFtzZWxmIF9yZXNldElzRG91YmxlVGFwUGVuZGluZ107CkBAIC0yODAz
LDYgKzI4MDQsNyBAQCAtICh2b2lkKV9kaWRDb21wbGV0ZVN5bnRoZXRpY0NsaWNrCiAKIC0gKHZv
aWQpX3NpbmdsZVRhcFJlY29nbml6ZWQ6KFVJVGFwR2VzdHVyZVJlY29nbml6ZXIgKilnZXN0dXJl
UmVjb2duaXplcgogeworICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogJXMiLCBfX1BSRVRUWV9GVU5D
VElPTl9fKTsKICAgICBBU1NFUlQoZ2VzdHVyZVJlY29nbml6ZXIgPT0gX3NpbmdsZVRhcEdlc3R1
cmVSZWNvZ25pemVyKTsKIAogICAgIGlmICghW3NlbGYgaXNGaXJzdFJlc3BvbmRlcl0pCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tTeW50aGV0aWNUYXBHZXN0dXJl
UmVjb2duaXplci5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1N5bnRoZXRpY1Rh
cEdlc3R1cmVSZWNvZ25pemVyLm1tCmluZGV4IDYwZmJjYWQwYmY1MTc4YTQwOTFhODcyOGUzOWVh
NjkzNTIzOWFjZDguLmYxMGM5ODU3NDcyNWI1YjJhNzdlNTZjZWNiZDFiMDJkMDczYTMwZGQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1N5bnRoZXRpY1RhcEdlc3R1
cmVSZWNvZ25pemVyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1N5bnRo
ZXRpY1RhcEdlc3R1cmVSZWNvZ25pemVyLm1tCkBAIC02OCw2ICs2OCwxMiBAQCAtICh2b2lkKXNl
dFN0YXRlOihVSUdlc3R1cmVSZWNvZ25pemVyU3RhdGUpc3RhdGUKICAgICBlbHNlIGlmIChzdGF0
ZSA9PSBVSUdlc3R1cmVSZWNvZ25pemVyU3RhdGVGYWlsZWQpCiAgICAgICAgIFtfZ2VzdHVyZUZh
aWxlZFRhcmdldCBwZXJmb3JtU2VsZWN0b3I6X2dlc3R1cmVGYWlsZWRBY3Rpb24gd2l0aE9iamVj
dDpzZWxmXTsKICAgICBbc3VwZXIgc2V0U3RhdGU6c3RhdGVdOworICAgIGlmIChzdGF0ZSA9PSBV
SUdlc3R1cmVSZWNvZ25pemVyU3RhdGVFbmRlZCAmJiBzZWxmLnN0YXRlID09IFVJR2VzdHVyZVJl
Y29nbml6ZXJTdGF0ZUZhaWxlZCkgeworICAgICAgICBXVEZMb2dBbHdheXMoIjxXSz46ICoqKiBT
SU5HTEUgVEFQIEZBSUxFRCBUTyBSRUNPR05JWkUhICVAICoqKiIsIHNlbGYpOworICAgICAgICBm
b3IgKE5TU3RyaW5nICpzIGluIFtOU1RocmVhZCBjYWxsU3RhY2tTeW1ib2xzXSkKKyAgICAgICAg
ICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogJUAiLCBzKTsKKyAgICAgICAgV1RGTG9nQWx3YXlzKCI8
V0s+OiAiKTsKKyAgICB9CiB9CiAKIC0gKHZvaWQpcmVzZXQKZGlmZiAtLWdpdCBhL1Rvb2xzL0No
YW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBiN2ZjZmM5NDQxOWY3ZGVhZWQzMWEyNTYz
NWUzZTJjMzBmY2Y4MWM1Li5iNzJmZjM0MDc4NzExYjc5NTA2YTI5N2EyMDdkYmNhNWFmY2FhYjVi
IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTYgQEAKKzIwMjAtMDctMjQgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBs
ZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTiAocjI2NDY5MCk6IFsgaU9TIHdrMiBdIGVkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
IGlzIGEgZmxha3kgZmFpbHVyZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjE0Njg4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82NTk5MzY4Mz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYktpdFRl
c3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxl
cjo6cnVuVGVzdCk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlTY3JpcHRDb250
cm9sbGVySU9TLm1tOgorICAgICAgICAoV1RSOjpVSVNjcmlwdENvbnRyb2xsZXJJT1M6OnNpbmds
ZVRhcEF0UG9pbnRXaXRoTW9kaWZpZXJzKToKKwogMjAyMC0wNy0yNCAgWW91ZW5uIEZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHNvbWUgbG9nZ2luZyB0byBkZWJ1ZyBX
ZWJLaXQuUXVvdGFEZWxlZ2F0ZSB0ZXN0IHRoYXQgdGltZXMgb3V0IG9uIGEgRGVidWcgYm90CmRp
ZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcCBiL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCmluZGV4IDFiMTdiYWE4NWU3
OWNkZTJiYmE0ZjQ4MGRmMzg3NGE2YWFjNzM1MjMuLjdlZWI4NWQwM2IzNThjZDE1MzYwMTk4YTA2
N2U4YThmYzg5ZmE5MmEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENv
bnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIu
Y3BwCkBAIC0xODIzLDYgKzE4MjMsOCBAQCBib29sIFRlc3RDb250cm9sbGVyOjpydW5UZXN0KGNv
bnN0IGNoYXIqIGlucHV0TGluZSkKICAgICBXS1JldGFpblB0cjxXS1VSTFJlZj4gd2tVUkwgPSBh
ZG9wdFdLKGNyZWF0ZVRlc3RVUkwoY29tbWFuZC5wYXRoT3JVUkwuY19zdHIoKSkpOwogICAgIG1f
Y3VycmVudEludm9jYXRpb24gPSBtYWtlVW5pcXVlPFRlc3RJbnZvY2F0aW9uPih3a1VSTC5nZXQo
KSwgb3B0aW9ucyk7CiAKKyAgICBXVEZMb2dBbHdheXMoIjxXSz46IFJ1bm5pbmcgJXMiLCBjb21t
YW5kLnBhdGhPclVSTC5jX3N0cigpKTsKKwogICAgIGlmIChjb21tYW5kLnNob3VsZER1bXBQaXhl
bHMgfHwgbV9zaG91bGREdW1wUGl4ZWxzRm9yQWxsVGVzdHMpCiAgICAgICAgIG1fY3VycmVudElu
dm9jYXRpb24tPnNldElzUGl4ZWxUZXN0KGNvbW1hbmQuZXhwZWN0ZWRQaXhlbEhhc2gpOwogCmRp
ZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9VSVNjcmlwdENvbnRyb2xsZXJJ
T1MubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9VSVNjcmlwdENvbnRyb2xsZXJJT1Mu
bW0KaW5kZXggN2ZhZWU2NDQ1YTcwYmVhMDFjZTQ0MTIzYjc3MTY4ODMwNjAyZDNiNi4uMGRmNTRl
NjQ5MDNlODdhZGY3ZGQxYzNkMzA3ZGQzMzFmODcyYzZjNCAxMDA2NDQKLS0tIGEvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9pb3MvVUlTY3JpcHRDb250cm9sbGVySU9TLm1tCisrKyBiL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvaW9zL1VJU2NyaXB0Q29udHJvbGxlcklPUy5tbQpAQCAtMzAzLDYgKzMw
Myw3IEBAIHZvaWQgVUlTY3JpcHRDb250cm9sbGVySU9TOjpzaW5nbGVUYXBBdFBvaW50V2l0aE1v
ZGlmaWVycyhXZWJDb3JlOjpGbG9hdFBvaW50IGxvCiAgICAgZm9yIChhdXRvJiBtb2RpZmllckZs
YWcgOiBtb2RpZmllckZsYWdzKQogICAgICAgICBbW0hJREV2ZW50R2VuZXJhdG9yIHNoYXJlZEhJ
REV2ZW50R2VuZXJhdG9yXSBrZXlEb3duOm1vZGlmaWVyRmxhZ107CiAKKyAgICBXVEZMb2dBbHdh
eXMoIjxXSz46IFNlbmRpbmcgc2luZ2xlIHRhcCBhdCAoJS4wZiwgJS4wZikiLCBfX1BSRVRUWV9G
VU5DVElPTl9fLCBsb2NhdGlvbi54KCksIGxvY2F0aW9uLnkoKSk7CiAgICAgW1tISURFdmVudEdl
bmVyYXRvciBzaGFyZWRISURFdmVudEdlbmVyYXRvcl0gdGFwOmdsb2JhbFRvQ29udGVudENvb3Jk
aW5hdGVzKHdlYlZpZXcoKSwgbG9jYXRpb24ueCgpLCBsb2NhdGlvbi55KCkpIGNvbXBsZXRpb25C
bG9jazpbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWZQdHIoKnRoaXMpLCBtb2RpZmllckZs
YWdzID0gV1RGTW92ZShtb2RpZmllckZsYWdzKSwgYmxvY2sgPSBXVEZNb3ZlKGJsb2NrKV0gKCkg
bXV0YWJsZSB7CiAgICAgICAgIGlmICghbV9jb250ZXh0KQogICAgICAgICAgICAgcmV0dXJuOwpA
QCAtMzExLDYgKzMxMiw3IEBAIHZvaWQgVUlTY3JpcHRDb250cm9sbGVySU9TOjpzaW5nbGVUYXBB
dFBvaW50V2l0aE1vZGlmaWVycyhXZWJDb3JlOjpGbG9hdFBvaW50IGxvCiAgICAgICAgICAgICBb
W0hJREV2ZW50R2VuZXJhdG9yIHNoYXJlZEhJREV2ZW50R2VuZXJhdG9yXSBrZXlVcDptb2RpZmll
ckZsYWdzW2ldXTsKICAgICAgICAgfQogICAgICAgICBbW0hJREV2ZW50R2VuZXJhdG9yIHNoYXJl
ZEhJREV2ZW50R2VuZXJhdG9yXSBzZW5kTWFya2VySElERXZlbnRXaXRoQ29tcGxldGlvbkJsb2Nr
OmJsb2NrLmdldCgpXTsKKyAgICAgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiAuLi5kb25lIHNlbmRp
bmcgc2luZ2xlIHRhcC4iKTsKICAgICB9XTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDAtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDAu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMDAt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTAwMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEw
MDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDAwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xMDAwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTAxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTAxLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMi5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTEwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTAzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTEwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDQuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xMDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwNS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xMDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTEwNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwNi1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwNi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDcu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwOC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDguaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTEwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwOS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTEwOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwOS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA5Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xMTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExMC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTAtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xMTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTAuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExMS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTExMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExMS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTExMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTExLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTItZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTEyLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMTIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTExMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTMuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExMy5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEx
NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTExNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEx
NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTE0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTUt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE1Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTExNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xMTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTYuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExNi5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTExNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExNy1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTExNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTE3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xMTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE4
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTguaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExOS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xMTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTExOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMi1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIwLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIwLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjAuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xMjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyMS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xMjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTEyMS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyMi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyMi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIyLmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIzLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xMjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyNC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyNS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyNS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTEyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI1Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMjYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjctZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjcu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyNy5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyOC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTEyOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyOC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTEyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjktZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI5LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMy5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTEzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMwLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTEzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTMwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMxLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMi5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTEzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTEzMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzQuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xMzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzNS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xMzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTEzNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzNi1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzNi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzcu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzOC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzguaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTEzOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzOS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTEzOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzOS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEzOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM5Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0MC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDAtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDAuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQxLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDItZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQyLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNDIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDMuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0My5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0
NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0
NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDUt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ1Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xNDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDYuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xNDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0Ni5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0Ny1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0Ny5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTQ3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xNDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ4
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDguaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0OS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE0OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUwLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUwLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTAuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xNTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xNTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE1MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Mi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Mi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUyLmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUzLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xNTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1NC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1NS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE1NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1NS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU1Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xNTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTctZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTcu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Ny5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1OC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTE1OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1OC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTktZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU5LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNi5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYwLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTYwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYxLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xNjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Mi5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTE2My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2My1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTE2My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2My5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xNjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjQuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xNjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2NS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xNjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE2NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Ni5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjcu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2OC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjguaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2OS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE2OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2OS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY5Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3MC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzAtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzAuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTcxLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzItZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTcyLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNzIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzMuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3My5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3
NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE3NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3
NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTc0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzUt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc1Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzYuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xNzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3Ni5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3Ny1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3Ny5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTc3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xNzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc4
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzguaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE3OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTgwLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xODAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTgwLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODAuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE4MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Mi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Mi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTgyLmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTgzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTgzLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
ODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4NC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4NS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE4NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4NS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg1Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xODYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODctZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODcu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Ny5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4OC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTE4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4OC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODktZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg5LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkwLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTkwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
OTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkxLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xOTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xOTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Mi5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTE5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5My1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTE5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5My5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xOTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTQuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xOTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5NS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xOTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE5NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Ni5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTcu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xOTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5OC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xOTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTguaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5OS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5OS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk5Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMi5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjAwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIw
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAwLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yMDEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yMDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yMDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMy5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAzLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMDQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
MDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwNS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIw
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTIwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIw
Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjA2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDgtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTIwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0yMDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwOC5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIwOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwOS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwOS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjA5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjEuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTAtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTAuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yMTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIx
MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTIxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjExLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxMS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTIxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxMS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjEyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjEyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjEyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTIuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yMTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxMy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yMTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIxMy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE0Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE1Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
MTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yMTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTYtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yMTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTYuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTIxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNy5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE3Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTgtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMTguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTIxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTktZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTku
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxOS5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjAtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIwLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIwLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yMjAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjEtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIyMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yMjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyMS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTIyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIyLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTIyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjIyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
MjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjQuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyNC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTIyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI1LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyNS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTIyNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyNS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjI1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI2LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MjI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI2Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjYuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yMjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyNy1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIyNy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MjI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyOC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyOC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI5Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjku
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjMwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIz
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMwLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yMzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yMzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yMzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMy5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIzMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMzLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjM0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIzNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
MzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzNS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIz
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTIzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIz
Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjM2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzgtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTIzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0yMzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzOC5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzOS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzOS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjM5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDAtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDAuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0
MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTI0MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0MS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTI0MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDIuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yNDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0My1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yNDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI0My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0NC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0NC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ1Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
NDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDYtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDYuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0Ny1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTI0Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0Ny5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI0Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ3Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjQ4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDgtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNDguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTI0OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDktZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDku
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0OS5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTAtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUwLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUwLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTEtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yNTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1MS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTI1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUyLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTI1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjUyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
NTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTQuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1NC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTI1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU1LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1NS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTI1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1NS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU2LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MjU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU2Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTYuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yNTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1Ny1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI1Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MjU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1OC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1OC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjU5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU5Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTku
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjYwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2MC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYwLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yNjEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yNjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2Mi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yNjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2My1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2My5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYzLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjY0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNjQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2NS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTI2Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2
Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjY2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjgtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTI2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0yNjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2OC5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2OS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjY5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNy5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzAtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzAuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3
MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTI3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjcxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3MS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTI3MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjcyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjcyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzIuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yNzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3My1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yNzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI3My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3NC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3NC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc0Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc1Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
NzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNzYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzYtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzYuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3Ny1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjc3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTI3Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3Ny5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc3Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzgtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNzguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTI3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzktZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzku
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3OS5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODAtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgwLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgwLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yODAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODEtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
ODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yODEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4MS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTI4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgyLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTI4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjgyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
ODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODQuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4NC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTI4NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg1LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4NS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTI4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4NS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg2LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yODYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Mjg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg2Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODYuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4Ny1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI4Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Mjg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4OC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4OC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg5Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODku
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjktZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5MC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjkwLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjkx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjkx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yOTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yOTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5Mi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yOTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5My1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI5My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5My5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI5My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjkzLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjk0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yOTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI5NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
OTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5NS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTI5Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5
Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjk2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTgtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTI5OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0yOTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yOTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5OC5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI5OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI5OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5OS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjk5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMC5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAwLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzAwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAxLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAxLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDEuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDIuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMw
Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTMwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwMy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTMwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwMy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDQuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zMDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwNS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zMDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTMwNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwNi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwNi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA2Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA3LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwOC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwOS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMwOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwOS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA5Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMx
MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTAtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTAuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxMS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTMxMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxMS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTMxMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzExLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzEyLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzEyLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMTIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTMxMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTMuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxMy5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTMxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTMxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzE0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE1LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE1Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTYtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zMTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTYuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNi5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTMxNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE3LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTMxNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzE3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE4LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zMTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MzE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE4Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTguaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxOS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMxOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIwLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIwLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjAuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zMjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyMS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zMjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjEuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTMyMS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyMi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMy
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIyLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zMjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyNC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyNS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTMyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI1Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjYtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMjYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjct
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyNy5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMy
OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTMyOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMy
OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjkt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI5Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMy5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMy5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMwLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzMwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMxLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMxLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzEuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzIuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMz
Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTMzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzMy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTMzMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzMy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzQuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zMzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzNS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zMzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTMzNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzNi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzNi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM2Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM3LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzOC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzOS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMzOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzOS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMzOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM5Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0
MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDAtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDAuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0MS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0MS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQxLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQyLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQyLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNDIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDMuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0My5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTM0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTM0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ1LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ1Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDYtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zNDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDYuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zNDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0Ni5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ3LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0Ny1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0Ny5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzQ3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ4LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zNDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MzQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ4Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDguaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM0OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUwLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUwLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTAuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zNTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1MS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zNTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTEuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM1MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Mi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUyLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zNTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1NC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1NS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM1NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1NS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU1Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTYtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zNTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTct
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Ny5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1
OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTM1OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1
OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTkt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU5Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNi5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYwLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzYwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYxLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYxLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjEuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zNjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjIuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2
Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTM2My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2My1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTM2My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2My5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zNjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjQuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zNjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2NS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zNjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM2NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2Ni1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2Ni5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY2Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY3LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2OC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2OS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM2OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2OS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY5Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3
MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzAtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzAuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3MS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3MS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzcxLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzcyLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzcyLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNzIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzMuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3My5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTM3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTM3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzc0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc1LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc1Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzYtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzYuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zNzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3Ni5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc3LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3Ny1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3Ny5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzc3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc4LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zNzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Mzc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc4Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzguaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM3OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzgwLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zODAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzgwLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODAuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4MS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODEuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM4MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Mi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzgyLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzgz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzgz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4NC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4NS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM4NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4NS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg1Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODYtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zODYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODct
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Ny5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4
OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTM4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4
OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODkt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg5Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkwLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzkwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zOTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkxLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkxLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTEuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zOTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTIuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zOTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5
Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTM5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5My1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTM5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5My5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zOTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTQuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zOTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5NS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zOTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM5NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5Ni1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5Ni5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk2Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk3LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zOTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5OC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zOTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5OS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5OS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk5Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDAtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDAtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwMC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDAwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQw
MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwMC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDAwLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00MDEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQw
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwMy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwMy5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDAzLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MDQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDUuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00MDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwNS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA2LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDA2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA3Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDgtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi00MDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDguaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwOC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQwOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA5LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwOS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwOS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDA5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDEtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDEuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTAt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00MTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQxMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDExLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxMS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxMS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDEyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDEyLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDEyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTIuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00MTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxMy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00MTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQxMy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQx
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE0Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00MTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00MTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTYtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTYuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNy5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE3Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTgtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MTguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTkuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxOS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQy
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQy
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjAtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIwLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00MjAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjEtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQyMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00MjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyMS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIyLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDIyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00MjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjMuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjQuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQy
NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyNS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQyNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDI1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI2LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI2Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjYuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00MjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyNy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQyNy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyOC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyOC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI4Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI5Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDMtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzMC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDMwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQz
MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzMC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDMwLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00MzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQz
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzMy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzMy5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQzMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDMzLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDM0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQzNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzUuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00MzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzNS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM2LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDM2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM3Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzgtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi00MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzguaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzOC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM5LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzOS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzOS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDM5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDAt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQ0MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQxLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0MS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQ0MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0MS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQyLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDIuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00NDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0My1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ0My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ0Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00NDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0Ni1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDYtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDYuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0Ny1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQ0Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0Ny5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ0Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ3Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDQ4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDgtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00NDguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQ0OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDkuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0OS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTAtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUwLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTEtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00NTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1MS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQ1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUyLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQ1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDUyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00NTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTMuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00NTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTQuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1
NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQ1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1NS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQ1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1NS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU2LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00NTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU2Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTYuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00NTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1Ny1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ1Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1OC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1OC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU4Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDU5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU5Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDYtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2MC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDYwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2
MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2MC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDYwLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00NjEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2My1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2My5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDYzLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDY0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NjQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjUuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2NS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY2LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDY2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY3Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjgtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi00NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjguaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00NjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2OC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY5LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2OS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2OS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDY5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzAt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQ3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcxLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3MS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQ3MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3MS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcyLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzIuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00NzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3My1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ3My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc0Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00NzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NzYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3Ni1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzYtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzYuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3Ny1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDc3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQ3Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3Ny5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc3Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzgtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00NzguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQ3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00Nzkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzkuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3OS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODAtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgwLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00ODAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODEtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00ODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00ODEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4MS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQ4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgyLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQ4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDgyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00ODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODMuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODQuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00ODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4
NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQ4NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4NS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQ4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4NS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg2LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00ODYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg2Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODYuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00ODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4Ny1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00ODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ4Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4OC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4OC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg4Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg5Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
ODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDktZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5MC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5
MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5MC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDkwLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00OTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5My1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ5My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5My5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ5My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDkzLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDk0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00OTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ5NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTUuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00OTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5NS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk2LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDk2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
OTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk3Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTgtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi00OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTguaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00OTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5OC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ5OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk5LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5OS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ5OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5OS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDk5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MC5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MC5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAwLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTAwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAx
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDEuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTUwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwMy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTUwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwMy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDQuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01MDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwNS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01MDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTUwNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwNi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUw
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA2Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA3
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwOC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwOS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUwOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwOS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA5Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTAtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxMS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTUxMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxMS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTUxMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTEx
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTItZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTEyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTEyLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MTIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTUxMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxMy5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTUxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTUxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTE0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE1LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTUuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTYtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01MTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTYuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUx
Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTUxNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE3LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxNy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTUxNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxNy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTE3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01MTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNTE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTguaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxOS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUxOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01Mi1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTIwLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTIwLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjAuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01MjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyMS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01MjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjEuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTUyMS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyMi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUy
Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyMi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTIyLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUy
NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyNS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyNS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTUyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI1Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjYtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI2LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI2Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MjYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyNy5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI5LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI5Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01My1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01My5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01My5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMwLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTMwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMx
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzEuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUzMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTUzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzMy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTUzMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzMy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzQuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01MzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzNS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTUzNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzNi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUz
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM2Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM3
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzOC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzOS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUzOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzOS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUzOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM5Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDAtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0MS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0MS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQx
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDItZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQyLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NDIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0My5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTU0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTU0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ1LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDUuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDYtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01NDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDYuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01NDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0
Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ3LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0Ny5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTQ3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01NDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNTQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDguaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0OS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU0OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTUuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTUwLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTUwLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTAuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01NTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1MS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01NTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTEuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU1MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1
Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTUyLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1
NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1NS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU1NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1NS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU1Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTYtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU2LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU2Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01NTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1Ny5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU5LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU5Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01Ni1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01Ni5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01Ni5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYwLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTYwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYx
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjEuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01NjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTU2My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2My1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTU2My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2My5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01NjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjQuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01NjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2NS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU2NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2Ni1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY2Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY3
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2OC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2OS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU2OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2OS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY5Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzAtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3MS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3MS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTcx
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzItZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTcyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTcyLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NzIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3My5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTU3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTU3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTc0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc1LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzUuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzYtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzYuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01NzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3
Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc3LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3Ny5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTc3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01NzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNTc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzguaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3OS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU3OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTgwLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01ODAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTgwLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODAuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01ODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4MS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODEuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU4MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4
Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTgyLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01ODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4
NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4NS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU4NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4NS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg1Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODYtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg2LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg2Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01ODYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4Ny5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg5LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg5Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkwLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTkwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01OTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkx
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTEuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01OTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01OTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTU5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5My1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTU5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5My5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01OTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTQuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01OTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5NS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01OTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU5NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5Ni1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk2Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk3
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01OTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5OC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01OTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5OS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5OS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk5Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwMC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjAwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYwMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwMC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAwLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDEtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02MDEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAz
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MDQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDUuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02MDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwNS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA2LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjA2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi02MDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYw
OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYwOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA5LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwOS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwOS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjA5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
MTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
MTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYxMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEx
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEyLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjEyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTIuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02MTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02MTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYxMy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxNC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYx
NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxNC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjE0Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NjE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NjE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02MTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYx
Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTYtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTYuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxNy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTYxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxNy5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjE3Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjE4LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjE4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MTguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTktZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTYxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTkuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxOS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYy
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjAtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIwLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIwLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjEtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYyMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02MjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyMS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTYyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTYyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjIyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02MjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjMuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjQu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTYyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI1LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyNS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTYyNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyNS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI2LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI2Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjYuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02MjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyNy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYyNy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyOC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYy
OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI4Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI5
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI5
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzMC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjMwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYzMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzMC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMwLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzEtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02MzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYzMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMz
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjM0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYzNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzUuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02MzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzNS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM2LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjM2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi02MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYz
OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM5LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzOS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzOS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjM5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQx
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0MS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0MS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQyLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDIuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02NDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0My1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY0My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0NC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0
NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0NC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQ0Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NjQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NjQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02NDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0
Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDYtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDYuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0Ny1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTY0Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0Ny5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY0Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQ3Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjQ4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQ4LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQ4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02NDguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDktZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTY0OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDkuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0OS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTAtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUwLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUwLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTEtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02NTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1MS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTY1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTY1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjUyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02NTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTMuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02NTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTQu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTY1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU1LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1NS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTY1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1NS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU2LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02NTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU2Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTYuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02NTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1Ny1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY1Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1OC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1
OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU4Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU5
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjU5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU5
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2MC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjYwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2MC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYwLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjEtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02NjEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2My1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2My5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYz
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjY0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NjQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjUuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2NS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY2LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjY2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi02NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02NjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2
OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY5LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2OS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2OS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjY5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjctZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcx
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3MS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3MS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcyLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzIuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02NzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3My1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY3My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3NC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3
NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3NC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjc0Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Njc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Njc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02NzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3
Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzYtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzYuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3Ny1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjc3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTY3Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3Ny5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjc3Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjc4LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjc4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02NzguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzktZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTY3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzkuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3OS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODAtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgwLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgwLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODEtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02ODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02ODEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4MS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTY4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTY4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjgyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02ODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODMuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODQu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02ODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTY4NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg1LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4NS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTY4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4NS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg2LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02ODYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg2Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODYuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02ODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4Ny1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02ODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY4Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4OC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4
OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg4Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg5
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg5
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02ODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjktZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjktZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5MC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5MC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjkwLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTEtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02OTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5My1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY5My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5My5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY5My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjkz
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjk0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02OTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY5NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTUuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02OTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5NS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk2LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjk2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02OTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi02OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02OTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5
OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY5OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk5LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5OS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY5OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5OS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjk5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MC5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTcwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MC5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTcwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTcwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzAwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDEuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
MDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
MDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTcwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzA0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzA0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDQuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03MDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwNS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03MDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTcwNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcw
Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTcwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzA2Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcw
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDgtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwOS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTcwOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwOS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTcwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzA5Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTcxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTAtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTAu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxMC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxMS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTcxMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxMS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTcxMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzEyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzEyLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTcxMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTMuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxMy5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTcxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTcxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzE0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE1LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE1
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTUuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTYt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03MTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTYu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTcxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTcxNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE3LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxNy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTcxNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxNy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE4LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03MTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNzE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE4Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTguaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxOS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTkuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTcxOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03Mi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIwLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIwLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjAu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03MjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyMS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjEtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03MjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjEuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTcyMS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyMi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTcyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyMi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTcyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIyLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTcyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyNS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTcyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyNS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTcyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI1
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjYtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI2Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MjYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjctZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTcyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyNy5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTcyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI4LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTcyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjkuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03My1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03My5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTczLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03My5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTczMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTczMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzMwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzEuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
MzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
MzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTczMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzM0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzM0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzQuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03MzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczNS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTczNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcz
Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTczNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzM2Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcz
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzgtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczOS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTczOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczOS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTczOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzM5Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDAtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDAu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0MC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0MS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0MS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQyLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDMuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0My5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTc0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTc0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ1LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ1
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDUuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDYt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03NDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDYu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03NDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ3LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0Ny1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0Ny5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ4LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03NDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNzQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ4Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDguaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0OS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDkuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc0OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUwLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUwLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTAu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03NTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1MS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTEtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03NTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTEuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc1MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1Mi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1Mi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUyLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1NS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc1NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1NS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU1
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTYtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU2Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03NTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTctZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1Ny5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU4LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTkuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03Ni1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03Ni5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03Ni5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2MC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2MC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzYwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjEuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
NjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03NjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2My1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzY0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03NjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzY0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjQuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03NjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2NS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc2NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2Ni1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2
Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2Ni5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzY2Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjgtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2OS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc2OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2OS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzY5Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzAtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzAu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3MC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3MS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3MS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzcyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzcyLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzMuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3My5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTc3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTc3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzc0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc1LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc1
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzUuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzYt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzYu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03NzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc3LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3Ny1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3Ny5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc4LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03NzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNzc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc4Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzguaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3OS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzkuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc3OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzgwLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzgwLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODAu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03ODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4MS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODEtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODEuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc4MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4Mi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4Mi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzgyLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03ODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4NS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc4NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4NS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg1
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODYtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg2Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03ODYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODctZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4Ny5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg4LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODkuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OS5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5MC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5MC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzkwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03OTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTEuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
OTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03OTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5My1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzk0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03OTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzk0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTQuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03OTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5NS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03OTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc5NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5Ni1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5
Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5Ni5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzk2Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Nzk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Nzk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTgtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5OS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5OS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzk5Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwMC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODAwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgwMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwMC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAwLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDEtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04MDEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwMi5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwMy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwMy5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDUuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04MDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwNS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODA2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA3
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDcuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDgt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi04MDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDgu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgwOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA5LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwOS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwOS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODEtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODEuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04MTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04MTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgxMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODEyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODEyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODEyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTIu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04MTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMy1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04MTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgxMy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxNC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxNC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE0Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04MTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgxNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTYuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxNy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTgxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxNy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE3
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTgtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE4LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE4Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MTguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTktZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTgxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTkuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxOS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Mi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjAt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIwLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgyMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04MjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyMS5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTgyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIyLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyMi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTgyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyMi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODIyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04MjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIzLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjMuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
MjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI1
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjYuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04MjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjcuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgyNy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyOC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgy
OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyOC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI4Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzMC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODMwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgzMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzMC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMwLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzEtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04MzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzMi5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzMy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzMy5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgzMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODM0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgzNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzUuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04MzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzNS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODM2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM3
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzcuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Mzgt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi04MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Mzgu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgzOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM5LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzOS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzOS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0MS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0MS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDIu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04NDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0My1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg0My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0NC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0NC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ0Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04NDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDYuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0Ny1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTg0Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0Ny5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg0Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ3
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODQ4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDgtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ4LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ4Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04NDguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDktZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTg0OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDkuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0OS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTAt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUwLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04NTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1MS5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTg1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUyLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTg1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1Mi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODUyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04NTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUzLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTMuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
NTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04NTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU1
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1NS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04NTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTYuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04NTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1Ny1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTcuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg1Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1OC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1
OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1OC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU4Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODU5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODYwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYwLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjEtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04NjEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2Mi5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2My1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2My5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODY0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjUuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2NS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODY2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY3
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjcuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Njgt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi04NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Njgu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04NjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY5LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2OS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2OS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODctZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODcuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3MS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3MS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODcyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODcyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzIu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04NzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3My1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg3My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3NC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg3NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3NC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc0Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04NzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzYuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3Ny1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTg3Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3Ny5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc3
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzgtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc4LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc4Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04NzguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzktZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTg3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzkuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3OS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODAt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgwLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04ODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04ODEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4MS5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTg4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgyLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTg4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4Mi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODgyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04ODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgzLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODMuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
ODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg1
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4NS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04ODYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODYuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04ODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4Ny1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04ODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODcuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg4Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4OC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4
OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4OC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg4Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04ODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODkt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODktZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODkwLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTEtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04OTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5Mi5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5My1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg5My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5My5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg5My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODk0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg5NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTUuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04OTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5NS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODk2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04OTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk3
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTcuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTgt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi04OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTgu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04OTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg5OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk5LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5OS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg5OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5OS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOS5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MC5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTAwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTAwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTAxLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTAxLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDEuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05MDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05MDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDQu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05MDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwNS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05MDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTkwNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwNi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTkwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwNi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTkwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA2Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDctZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTkwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDgtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwOS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkwOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwOS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA5
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTAuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
MTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxMC5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkx
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTkxMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkx
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTIt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTEyLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTEyLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTkxMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTMuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxMy5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTkxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTkxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTE0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE1LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE1
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTUuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
MTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05MTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTkxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE3
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE4LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05MTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tOTE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE4Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTguaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxOS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTkuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkxOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05Mi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyLmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIwLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
MjAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05MjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjEtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05MjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyMS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyMi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTkyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyMi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIyLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTkyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyNC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyNS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyNS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTkyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTI1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI2LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjctZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjcuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyNy5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI4LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI5LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI5
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjkuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05My1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05My5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05My5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTMwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTMwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTMxLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTMxLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzEuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05MzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05MzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkzMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzQu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05MzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzNS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTkzNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzNi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTkzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzNi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTkzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM2Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzctZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTkzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzgtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzOS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkzOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzOS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkzOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM5
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDAuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0MC5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDIt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQyLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQyLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDMuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0My5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTk0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0NC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTk0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0NC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ1LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ1
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDUuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05NDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ3
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0Ny1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0Ny5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ4LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05NDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tOTQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ4Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDguaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0OS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDkuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk0OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NS1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUwLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05NTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1MS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTEtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05NTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1Mi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1Mi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUyLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1NC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1NS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk1NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1NS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU2LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTctZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTcuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1Ny5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU4LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU5LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU5
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTkuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05Ni1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05Ni5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05Ni5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTYwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2MC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2MC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTYwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTYxLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTYxLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjEuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05NjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2Mi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2My1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2My5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjQu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05NjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2NS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk2NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2Ni1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTk2Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2Ni5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY2Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjctZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTk2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjgtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2OS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk2OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2OS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY5
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05Ny5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzAuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3MC5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzIt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTcyLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTcyLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzMuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3My5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTk3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3NC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTk3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3NC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTc0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc1LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc1
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzUuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NzYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc3
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3Ny1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3Ny5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc4LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05NzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tOTc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc4Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzguaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3OS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzkuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk3OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgwLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
ODAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05ODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4MS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODEtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4Mi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4Mi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgyLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05ODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4NC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4NS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk4NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4NS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg2LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODctZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODcuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4Ny5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg4LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg5LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg5
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODkuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OS5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTkwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5MC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5MC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTkwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTkxLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05OTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTkxLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTEuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05OTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5Mi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5My1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5My5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTQu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05OTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5NS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05OTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk5NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5Ni1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTk5Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5Ni5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk2Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTctZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTk5OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTgtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5OS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5OS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk5
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405179</attachid>
            <date>2020-07-24 14:35:52 -0700</date>
            <delta_ts>2020-07-24 14:35:52 -0700</delta_ts>
            <desc>Data collection (6)</desc>
            <filename>bug-214688-20200724143547.patch</filename>
            <type>text/plain</type>
            <size>2992204</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0ODU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGQ3ZDQ0Mzk0NWQ0N2U0Nzk4
ZGQ4NWRmYTA2OTI0MWVhOGQ4MDU3YjUuLjc4NTQxMjFlMWY2ZDc1NzQwNmU2NzI5YjRiMzZlN2Vi
M2JiN2M0ODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMDctMjQgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTiAocjI2
NDY5MCk6IFsgaU9TIHdrMiBdIGVkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGlzIGEgZmxha3kgZmFpbHVyZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0Njg4CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS82NTk5MzY4Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1t
OgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9zaW5nbGVUYXBJZGVudGlmaWVkOl0pOgorICAg
ICAgICAoLVtXS0NvbnRlbnRWaWV3IF9zaW5nbGVUYXBSZWNvZ25pemVkOl0pOgorICAgICAgICAq
IFVJUHJvY2Vzcy9pb3MvV0tTeW50aGV0aWNUYXBHZXN0dXJlUmVjb2duaXplci5tbToKKyAgICAg
ICAgKC1bV0tTeW50aGV0aWNUYXBHZXN0dXJlUmVjb2duaXplciBzZXRTdGF0ZTpdKToKKwogMjAy
MC0wNy0yNCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIENyYXNo
IHVuZGVyIFByZWNvbm5lY3RUYXNrOjpzdGFydCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQppbmRleCBiMDQxYzI5
MjkxZTJhM2MyODY3NjM2OWI1MDBjZmMxYzcyOTY1ZDZlLi4xYTc0ZjljODUyMDJhOWU3Y2FhODNk
MjE1MzcyN2M4MzA0NjIwN2Q4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9p
b3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KQEAgLTI3MjgsNiArMjcyOCw3IEBA
IC0gKHZvaWQpX2VuZFBvdGVudGlhbFRhcEFuZEVuYWJsZURvdWJsZVRhcEdlc3R1cmVzSWZOZWNl
c3NhcnkKIAogLSAodm9pZClfc2luZ2xlVGFwSWRlbnRpZmllZDooVUlUYXBHZXN0dXJlUmVjb2du
aXplciAqKWdlc3R1cmVSZWNvZ25pemVyCiB7CisgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiAlcyIs
IF9fUFJFVFRZX0ZVTkNUSU9OX18pOwogICAgIEFTU0VSVChnZXN0dXJlUmVjb2duaXplciA9PSBf
c2luZ2xlVGFwR2VzdHVyZVJlY29nbml6ZXIpOwogICAgIEFTU0VSVCghX3BvdGVudGlhbFRhcElu
UHJvZ3Jlc3MpOwogICAgIFtzZWxmIF9yZXNldElzRG91YmxlVGFwUGVuZGluZ107CkBAIC0yODAz
LDYgKzI4MDQsNyBAQCAtICh2b2lkKV9kaWRDb21wbGV0ZVN5bnRoZXRpY0NsaWNrCiAKIC0gKHZv
aWQpX3NpbmdsZVRhcFJlY29nbml6ZWQ6KFVJVGFwR2VzdHVyZVJlY29nbml6ZXIgKilnZXN0dXJl
UmVjb2duaXplcgogeworICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogJXMiLCBfX1BSRVRUWV9GVU5D
VElPTl9fKTsKICAgICBBU1NFUlQoZ2VzdHVyZVJlY29nbml6ZXIgPT0gX3NpbmdsZVRhcEdlc3R1
cmVSZWNvZ25pemVyKTsKIAogICAgIGlmICghW3NlbGYgaXNGaXJzdFJlc3BvbmRlcl0pCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tTeW50aGV0aWNUYXBHZXN0dXJl
UmVjb2duaXplci5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1N5bnRoZXRpY1Rh
cEdlc3R1cmVSZWNvZ25pemVyLm1tCmluZGV4IDYwZmJjYWQwYmY1MTc4YTQwOTFhODcyOGUzOWVh
NjkzNTIzOWFjZDguLmYxMGM5ODU3NDcyNWI1YjJhNzdlNTZjZWNiZDFiMDJkMDczYTMwZGQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1N5bnRoZXRpY1RhcEdlc3R1
cmVSZWNvZ25pemVyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1N5bnRo
ZXRpY1RhcEdlc3R1cmVSZWNvZ25pemVyLm1tCkBAIC02OCw2ICs2OCwxMiBAQCAtICh2b2lkKXNl
dFN0YXRlOihVSUdlc3R1cmVSZWNvZ25pemVyU3RhdGUpc3RhdGUKICAgICBlbHNlIGlmIChzdGF0
ZSA9PSBVSUdlc3R1cmVSZWNvZ25pemVyU3RhdGVGYWlsZWQpCiAgICAgICAgIFtfZ2VzdHVyZUZh
aWxlZFRhcmdldCBwZXJmb3JtU2VsZWN0b3I6X2dlc3R1cmVGYWlsZWRBY3Rpb24gd2l0aE9iamVj
dDpzZWxmXTsKICAgICBbc3VwZXIgc2V0U3RhdGU6c3RhdGVdOworICAgIGlmIChzdGF0ZSA9PSBV
SUdlc3R1cmVSZWNvZ25pemVyU3RhdGVFbmRlZCAmJiBzZWxmLnN0YXRlID09IFVJR2VzdHVyZVJl
Y29nbml6ZXJTdGF0ZUZhaWxlZCkgeworICAgICAgICBXVEZMb2dBbHdheXMoIjxXSz46ICoqKiBT
SU5HTEUgVEFQIEZBSUxFRCBUTyBSRUNPR05JWkUhICVAICoqKiIsIHNlbGYpOworICAgICAgICBm
b3IgKE5TU3RyaW5nICpzIGluIFtOU1RocmVhZCBjYWxsU3RhY2tTeW1ib2xzXSkKKyAgICAgICAg
ICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogJUAiLCBzKTsKKyAgICAgICAgV1RGTG9nQWx3YXlzKCI8
V0s+OiAiKTsKKyAgICB9CiB9CiAKIC0gKHZvaWQpcmVzZXQKZGlmZiAtLWdpdCBhL1Rvb2xzL0No
YW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBiN2ZjZmM5NDQxOWY3ZGVhZWQzMWEyNTYz
NWUzZTJjMzBmY2Y4MWM1Li5iNzJmZjM0MDc4NzExYjc5NTA2YTI5N2EyMDdkYmNhNWFmY2FhYjVi
IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTYgQEAKKzIwMjAtMDctMjQgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBs
ZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTiAocjI2NDY5MCk6IFsgaU9TIHdrMiBdIGVkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
IGlzIGEgZmxha3kgZmFpbHVyZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjE0Njg4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82NTk5MzY4Mz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYktpdFRl
c3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxl
cjo6cnVuVGVzdCk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlTY3JpcHRDb250
cm9sbGVySU9TLm1tOgorICAgICAgICAoV1RSOjpVSVNjcmlwdENvbnRyb2xsZXJJT1M6OnNpbmds
ZVRhcEF0UG9pbnRXaXRoTW9kaWZpZXJzKToKKwogMjAyMC0wNy0yNCAgWW91ZW5uIEZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHNvbWUgbG9nZ2luZyB0byBkZWJ1ZyBX
ZWJLaXQuUXVvdGFEZWxlZ2F0ZSB0ZXN0IHRoYXQgdGltZXMgb3V0IG9uIGEgRGVidWcgYm90CmRp
ZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcCBiL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCmluZGV4IDFiMTdiYWE4NWU3
OWNkZTJiYmE0ZjQ4MGRmMzg3NGE2YWFjNzM1MjMuLjdlZWI4NWQwM2IzNThjZDE1MzYwMTk4YTA2
N2U4YThmYzg5ZmE5MmEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENv
bnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIu
Y3BwCkBAIC0xODIzLDYgKzE4MjMsOCBAQCBib29sIFRlc3RDb250cm9sbGVyOjpydW5UZXN0KGNv
bnN0IGNoYXIqIGlucHV0TGluZSkKICAgICBXS1JldGFpblB0cjxXS1VSTFJlZj4gd2tVUkwgPSBh
ZG9wdFdLKGNyZWF0ZVRlc3RVUkwoY29tbWFuZC5wYXRoT3JVUkwuY19zdHIoKSkpOwogICAgIG1f
Y3VycmVudEludm9jYXRpb24gPSBtYWtlVW5pcXVlPFRlc3RJbnZvY2F0aW9uPih3a1VSTC5nZXQo
KSwgb3B0aW9ucyk7CiAKKyAgICBXVEZMb2dBbHdheXMoIjxXSz46IFJ1bm5pbmcgJXMiLCBjb21t
YW5kLnBhdGhPclVSTC5jX3N0cigpKTsKKwogICAgIGlmIChjb21tYW5kLnNob3VsZER1bXBQaXhl
bHMgfHwgbV9zaG91bGREdW1wUGl4ZWxzRm9yQWxsVGVzdHMpCiAgICAgICAgIG1fY3VycmVudElu
dm9jYXRpb24tPnNldElzUGl4ZWxUZXN0KGNvbW1hbmQuZXhwZWN0ZWRQaXhlbEhhc2gpOwogCmRp
ZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9VSVNjcmlwdENvbnRyb2xsZXJJ
T1MubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9VSVNjcmlwdENvbnRyb2xsZXJJT1Mu
bW0KaW5kZXggN2ZhZWU2NDQ1YTcwYmVhMDFjZTQ0MTIzYjc3MTY4ODMwNjAyZDNiNi4uMGRmNTRl
NjQ5MDNlODdhZGY3ZGQxYzNkMzA3ZGQzMzFmODcyYzZjNCAxMDA2NDQKLS0tIGEvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9pb3MvVUlTY3JpcHRDb250cm9sbGVySU9TLm1tCisrKyBiL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvaW9zL1VJU2NyaXB0Q29udHJvbGxlcklPUy5tbQpAQCAtMzAzLDYgKzMw
Myw3IEBAIHZvaWQgVUlTY3JpcHRDb250cm9sbGVySU9TOjpzaW5nbGVUYXBBdFBvaW50V2l0aE1v
ZGlmaWVycyhXZWJDb3JlOjpGbG9hdFBvaW50IGxvCiAgICAgZm9yIChhdXRvJiBtb2RpZmllckZs
YWcgOiBtb2RpZmllckZsYWdzKQogICAgICAgICBbW0hJREV2ZW50R2VuZXJhdG9yIHNoYXJlZEhJ
REV2ZW50R2VuZXJhdG9yXSBrZXlEb3duOm1vZGlmaWVyRmxhZ107CiAKKyAgICBXVEZMb2dBbHdh
eXMoIjxXSz46IFNlbmRpbmcgc2luZ2xlIHRhcCBhdCAoJS4wZiwgJS4wZikiLCBfX1BSRVRUWV9G
VU5DVElPTl9fLCBsb2NhdGlvbi54KCksIGxvY2F0aW9uLnkoKSk7CiAgICAgW1tISURFdmVudEdl
bmVyYXRvciBzaGFyZWRISURFdmVudEdlbmVyYXRvcl0gdGFwOmdsb2JhbFRvQ29udGVudENvb3Jk
aW5hdGVzKHdlYlZpZXcoKSwgbG9jYXRpb24ueCgpLCBsb2NhdGlvbi55KCkpIGNvbXBsZXRpb25C
bG9jazpbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWZQdHIoKnRoaXMpLCBtb2RpZmllckZs
YWdzID0gV1RGTW92ZShtb2RpZmllckZsYWdzKSwgYmxvY2sgPSBXVEZNb3ZlKGJsb2NrKV0gKCkg
bXV0YWJsZSB7CiAgICAgICAgIGlmICghbV9jb250ZXh0KQogICAgICAgICAgICAgcmV0dXJuOwpA
QCAtMzExLDYgKzMxMiw3IEBAIHZvaWQgVUlTY3JpcHRDb250cm9sbGVySU9TOjpzaW5nbGVUYXBB
dFBvaW50V2l0aE1vZGlmaWVycyhXZWJDb3JlOjpGbG9hdFBvaW50IGxvCiAgICAgICAgICAgICBb
W0hJREV2ZW50R2VuZXJhdG9yIHNoYXJlZEhJREV2ZW50R2VuZXJhdG9yXSBrZXlVcDptb2RpZmll
ckZsYWdzW2ldXTsKICAgICAgICAgfQogICAgICAgICBbW0hJREV2ZW50R2VuZXJhdG9yIHNoYXJl
ZEhJREV2ZW50R2VuZXJhdG9yXSBzZW5kTWFya2VySElERXZlbnRXaXRoQ29tcGxldGlvbkJsb2Nr
OmJsb2NrLmdldCgpXTsKKyAgICAgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiAuLi5kb25lIHNlbmRp
bmcgc2luZ2xlIHRhcC4iKTsKICAgICB9XTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDAtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDAu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMDAt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTAwMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEw
MDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDAwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xMDAwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTAxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTAxLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMi5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTEwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTAzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTEwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDQuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xMDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwNS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xMDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTEwNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwNi1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwNi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDcu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwOC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDguaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTEwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwOS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTEwOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwOS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA5Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xMTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExMC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTAtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xMTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTAuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExMS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTExMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExMS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTExMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTExLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTItZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTEyLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMTIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTExMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTMuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExMy5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEx
NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTExNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEx
NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTE0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTUt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE1Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTExNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xMTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTYuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExNi5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTExNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExNy1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTExNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTE3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xMTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE4
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTguaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExOS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xMTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTExOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMi1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIwLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIwLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjAuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xMjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyMS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xMjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTEyMS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyMi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyMi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIyLmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIzLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xMjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyNC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyNS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyNS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTEyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI1Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMjYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjctZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjcu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyNy5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyOC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTEyOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyOC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTEyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjktZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI5LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMy5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTEzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMwLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTEzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTMwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMxLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMi5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTEzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTEzMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzQuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xMzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzNS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xMzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTEzNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzNi1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzNi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzcu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzOC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzguaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTEzOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzOS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTEzOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzOS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEzOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM5Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0MC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDAtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDAuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQxLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDItZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQyLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNDIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDMuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0My5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0
NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0
NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDUt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ1Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xNDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDYuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xNDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0Ni5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0Ny1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0Ny5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTQ3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xNDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ4
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDguaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0OS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE0OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUwLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUwLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTAuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xNTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xNTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE1MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Mi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Mi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUyLmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUzLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xNTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1NC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1NS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE1NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1NS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU1Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xNTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTctZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTcu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Ny5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1OC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTE1OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1OC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTktZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU5LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNi5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYwLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTYwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYxLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xNjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Mi5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTE2My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2My1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTE2My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2My5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xNjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjQuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xNjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2NS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xNjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE2NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Ni5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjcu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2OC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjguaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2OS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE2OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2OS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY5Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3MC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzAtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzAuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTcxLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzItZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTcyLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNzIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzMuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3My5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3
NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE3NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3
NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTc0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzUt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc1Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzYuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xNzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3Ni5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3Ny1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3Ny5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTc3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xNzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc4
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzguaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE3OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTgwLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xODAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTgwLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODAuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE4MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Mi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Mi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTgyLmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTgzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTgzLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
ODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4NC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4NS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE4NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4NS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg1Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xODYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODctZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODcu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Ny5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4OC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTE4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4OC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODktZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg5LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkwLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTkwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
OTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkxLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xOTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xOTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Mi5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTE5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5My1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTE5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5My5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xOTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTQuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xOTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5NS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xOTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE5NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Ni5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTcu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xOTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5OC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xOTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTguaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5OS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5OS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk5Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMi5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjAwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIw
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAwLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yMDEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yMDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yMDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMy5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAzLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMDQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
MDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwNS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIw
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTIwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIw
Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjA2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDgtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTIwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0yMDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwOC5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIwOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwOS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwOS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjA5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjEuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTAtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTAuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yMTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIx
MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTIxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjExLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxMS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTIxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxMS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjEyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjEyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjEyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTIuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yMTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxMy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yMTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIxMy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE0Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE1Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
MTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yMTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTYtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yMTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTYuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTIxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNy5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE3Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTgtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMTguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTIxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTktZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTku
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxOS5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjAtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIwLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIwLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yMjAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjEtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIyMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yMjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyMS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTIyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIyLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTIyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjIyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
MjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjQuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyNC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTIyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI1LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyNS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTIyNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyNS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjI1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI2LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MjI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI2Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjYuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yMjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyNy1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIyNy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MjI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyOC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyOC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI5Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjku
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjMwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIz
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMwLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yMzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yMzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yMzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMy5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIzMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMzLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjM0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIzNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
MzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzNS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIz
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTIzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIz
Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjM2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzgtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTIzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0yMzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzOC5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzOS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzOS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjM5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDAtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDAuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0
MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTI0MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0MS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTI0MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDIuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yNDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0My1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yNDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI0My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0NC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0NC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ1Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
NDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDYtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDYuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0Ny1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTI0Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0Ny5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI0Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ3Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjQ4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDgtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNDguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTI0OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDktZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDku
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0OS5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTAtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUwLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUwLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTEtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yNTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1MS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTI1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUyLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTI1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjUyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
NTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTQuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1NC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTI1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU1LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1NS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTI1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1NS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU2LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MjU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU2Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTYuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yNTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1Ny1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI1Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MjU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1OC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1OC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjU5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU5Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTku
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjYwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2MC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYwLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yNjEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yNjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2Mi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yNjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2My1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2My5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYzLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjY0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNjQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2NS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTI2Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2
Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjY2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjgtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTI2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0yNjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2OC5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2OS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjY5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNy5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzAtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzAuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3
MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTI3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjcxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3MS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTI3MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjcyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjcyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzIuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yNzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3My1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yNzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI3My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3NC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3NC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc0Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc1Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
NzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNzYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzYtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzYuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3Ny1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjc3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTI3Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3Ny5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc3Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzgtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNzguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTI3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzktZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzku
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3OS5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODAtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgwLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgwLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yODAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODEtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
ODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yODEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4MS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTI4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgyLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTI4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjgyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
ODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODQuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4NC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTI4NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg1LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4NS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTI4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4NS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg2LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yODYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Mjg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg2Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODYuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4Ny1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI4Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Mjg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4OC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4OC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg5Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODku
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjktZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5MC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjkwLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjkx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjkx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yOTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yOTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5Mi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yOTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5My1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI5My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5My5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI5My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjkzLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjk0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yOTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI5NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
OTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5NS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTI5Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5
Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjk2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTgtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTI5OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0yOTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yOTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5OC5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI5OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI5OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5OS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjk5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMC5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAwLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzAwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAxLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAxLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDEuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDIuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMw
Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTMwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwMy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTMwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwMy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDQuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zMDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwNS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zMDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTMwNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwNi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwNi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA2Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA3LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwOC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwOS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMwOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwOS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA5Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMx
MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTAtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTAuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxMS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTMxMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxMS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTMxMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzExLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzEyLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzEyLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMTIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTMxMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTMuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxMy5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTMxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTMxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzE0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE1LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE1Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTYtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zMTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTYuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNi5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTMxNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE3LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTMxNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzE3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE4LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zMTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MzE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE4Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTguaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxOS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMxOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIwLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIwLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjAuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zMjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyMS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zMjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjEuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTMyMS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyMi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMy
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIyLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zMjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyNC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyNS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTMyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI1Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjYtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMjYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjct
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyNy5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMy
OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTMyOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMy
OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjkt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI5Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMy5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMy5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMwLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzMwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMxLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMxLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzEuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzIuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMz
Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTMzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzMy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTMzMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzMy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzQuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zMzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzNS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zMzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTMzNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzNi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzNi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM2Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM3LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzOC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzOS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMzOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzOS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMzOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM5Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0
MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDAtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDAuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0MS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0MS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQxLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQyLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQyLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNDIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDMuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0My5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTM0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTM0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ1LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ1Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDYtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zNDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDYuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zNDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0Ni5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ3LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0Ny1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0Ny5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzQ3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ4LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zNDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MzQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ4Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDguaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM0OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUwLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUwLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTAuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zNTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1MS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zNTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTEuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM1MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Mi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUyLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zNTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1NC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1NS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM1NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1NS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU1Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTYtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zNTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTct
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Ny5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1
OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTM1OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1
OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTkt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU5Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNi5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYwLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzYwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYxLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYxLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjEuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zNjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjIuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2
Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTM2My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2My1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTM2My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2My5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zNjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjQuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zNjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2NS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zNjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM2NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2Ni1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2Ni5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY2Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY3LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2OC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2OS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM2OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2OS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY5Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3
MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzAtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzAuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3MS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3MS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzcxLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzcyLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzcyLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNzIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzMuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3My5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTM3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTM3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzc0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc1LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc1Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzYtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzYuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zNzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3Ni5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc3LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3Ny1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3Ny5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzc3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc4LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zNzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Mzc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc4Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzguaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM3OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzgwLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zODAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzgwLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODAuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4MS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODEuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM4MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Mi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzgyLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzgz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzgz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4NC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4NS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM4NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4NS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg1Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODYtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zODYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODct
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Ny5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4
OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTM4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4
OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODkt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg5Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkwLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzkwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zOTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkxLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkxLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTEuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zOTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTIuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zOTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5
Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTM5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5My1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTM5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5My5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zOTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTQuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zOTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5NS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zOTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM5NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5Ni1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5Ni5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk2Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk3LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zOTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5OC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zOTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5OS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5OS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk5Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDAtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDAtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwMC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDAwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQw
MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwMC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDAwLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00MDEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQw
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwMy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwMy5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDAzLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MDQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDUuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00MDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwNS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA2LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDA2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA3Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDgtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi00MDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDguaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwOC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQwOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA5LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwOS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwOS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDA5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDEtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDEuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTAt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00MTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQxMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDExLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxMS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxMS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDEyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDEyLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDEyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTIuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00MTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxMy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00MTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQxMy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQx
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE0Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00MTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00MTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTYtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTYuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNy5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE3Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTgtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MTguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTkuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxOS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQy
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQy
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjAtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIwLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00MjAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjEtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQyMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00MjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyMS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIyLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDIyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00MjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjMuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjQuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQy
NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyNS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQyNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDI1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI2LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI2Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjYuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00MjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyNy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQyNy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyOC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyOC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI4Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI5Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDMtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzMC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDMwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQz
MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzMC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDMwLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00MzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQz
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzMy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzMy5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQzMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDMzLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDM0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQzNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzUuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00MzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzNS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM2LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDM2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM3Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzgtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi00MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzguaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzOC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM5LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzOS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzOS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDM5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDAt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQ0MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQxLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0MS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQ0MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0MS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQyLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDIuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00NDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0My1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ0My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ0Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00NDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0Ni1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDYtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDYuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0Ny1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQ0Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0Ny5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ0Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ3Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDQ4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDgtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00NDguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQ0OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDkuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0OS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTAtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUwLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTEtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00NTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1MS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQ1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUyLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQ1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDUyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00NTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTMuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00NTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTQuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1
NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQ1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1NS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQ1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1NS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU2LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00NTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU2Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTYuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00NTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1Ny1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ1Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1OC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1OC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU4Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDU5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU5Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDYtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2MC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDYwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2
MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2MC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDYwLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00NjEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2My1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2My5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDYzLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDY0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NjQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjUuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2NS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY2LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDY2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY3Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjgtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi00NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjguaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00NjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2OC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY5LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2OS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2OS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDY5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzAt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQ3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcxLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3MS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQ3MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3MS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcyLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzIuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00NzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3My1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ3My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc0Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00NzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NzYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3Ni1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzYtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzYuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3Ny1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDc3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQ3Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3Ny5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc3Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzgtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00NzguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQ3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00Nzkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzkuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3OS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODAtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgwLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00ODAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODEtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00ODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00ODEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4MS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQ4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgyLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQ4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDgyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00ODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODMuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODQuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00ODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4
NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQ4NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4NS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQ4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4NS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg2LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00ODYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg2Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODYuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00ODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4Ny1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00ODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ4Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4OC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4OC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg4Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg5Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
ODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDktZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5MC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5
MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5MC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDkwLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00OTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5My1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ5My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5My5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ5My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDkzLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDk0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00OTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ5NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTUuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00OTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5NS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk2LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDk2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
OTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk3Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTgtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi00OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTguaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00OTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5OC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ5OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk5LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5OS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ5OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5OS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDk5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MC5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MC5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAwLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTAwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAx
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDEuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTUwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwMy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTUwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwMy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDQuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01MDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwNS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01MDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTUwNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwNi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUw
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA2Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA3
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwOC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwOS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUwOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwOS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA5Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTAtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxMS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTUxMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxMS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTUxMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTEx
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTItZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTEyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTEyLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MTIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTUxMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxMy5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTUxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTUxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTE0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE1LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTUuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTYtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01MTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTYuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUx
Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTUxNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE3LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxNy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTUxNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxNy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTE3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01MTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNTE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTguaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxOS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUxOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01Mi1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTIwLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTIwLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjAuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01MjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyMS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01MjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjEuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTUyMS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyMi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUy
Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyMi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTIyLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUy
NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyNS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyNS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTUyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI1Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjYtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI2LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI2Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MjYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyNy5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI5LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI5Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01My1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01My5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01My5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMwLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTMwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMx
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzEuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUzMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTUzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzMy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTUzMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzMy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzQuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01MzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzNS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTUzNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzNi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUz
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM2Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM3
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzOC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzOS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUzOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzOS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUzOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM5Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDAtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0MS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0MS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQx
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDItZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQyLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NDIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0My5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTU0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTU0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ1LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDUuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDYtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01NDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDYuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01NDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0
Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ3LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0Ny5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTQ3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01NDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNTQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDguaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0OS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU0OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTUuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTUwLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTUwLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTAuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01NTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1MS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01NTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTEuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU1MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1
Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTUyLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1
NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1NS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU1NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1NS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU1Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTYtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU2LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU2Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01NTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1Ny5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU5LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU5Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01Ni1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01Ni5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01Ni5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYwLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTYwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYx
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjEuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01NjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTU2My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2My1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTU2My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2My5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01NjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjQuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01NjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2NS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU2NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2Ni1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY2Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY3
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2OC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2OS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU2OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2OS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY5Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzAtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3MS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3MS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTcx
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzItZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTcyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTcyLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NzIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3My5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTU3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTU3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTc0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc1LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzUuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzYtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzYuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01NzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3
Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc3LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3Ny5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTc3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01NzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNTc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzguaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3OS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU3OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTgwLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01ODAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTgwLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODAuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01ODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4MS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODEuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU4MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4
Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTgyLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01ODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4
NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4NS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU4NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4NS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg1Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODYtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg2LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg2Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01ODYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4Ny5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg5LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg5Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkwLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTkwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01OTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkx
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTEuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01OTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01OTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTU5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5My1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTU5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5My5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01OTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTQuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01OTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5NS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01OTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU5NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5Ni1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk2Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk3
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01OTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5OC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01OTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5OS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5OS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk5Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwMC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjAwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYwMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwMC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAwLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDEtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02MDEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAz
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MDQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDUuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02MDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwNS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA2LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjA2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi02MDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYw
OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYwOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA5LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwOS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwOS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjA5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
MTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
MTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYxMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEx
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEyLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjEyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTIuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02MTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02MTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYxMy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxNC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYx
NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxNC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjE0Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NjE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NjE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02MTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYx
Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTYtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTYuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxNy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTYxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxNy5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjE3Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjE4LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjE4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MTguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTktZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTYxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTkuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxOS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYy
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjAtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIwLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIwLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjEtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYyMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02MjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyMS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTYyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTYyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjIyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02MjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjMuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjQu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTYyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI1LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyNS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTYyNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyNS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI2LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI2Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjYuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02MjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyNy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYyNy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyOC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYy
OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI4Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI5
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI5
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzMC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjMwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYzMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzMC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMwLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzEtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02MzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYzMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMz
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjM0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYzNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzUuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02MzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzNS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM2LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjM2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi02MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYz
OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM5LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzOS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzOS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjM5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQx
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0MS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0MS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQyLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDIuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02NDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0My1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY0My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0NC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0
NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0NC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQ0Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NjQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NjQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02NDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0
Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDYtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDYuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0Ny1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTY0Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0Ny5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY0Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQ3Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjQ4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQ4LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQ4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02NDguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDktZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTY0OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDkuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0OS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTAtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUwLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUwLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTEtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02NTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1MS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTY1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTY1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjUyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02NTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTMuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02NTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTQu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTY1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU1LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1NS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTY1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1NS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU2LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02NTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU2Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTYuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02NTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1Ny1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY1Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1OC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1
OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU4Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU5
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjU5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU5
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2MC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjYwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2MC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYwLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjEtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02NjEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2My1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2My5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYz
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjY0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NjQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjUuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2NS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY2LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjY2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi02NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02NjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2
OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY5LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2OS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2OS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjY5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjctZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcx
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3MS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3MS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcyLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzIuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02NzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3My1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY3My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3NC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3
NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3NC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjc0Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Njc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Njc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02NzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3
Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzYtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzYuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3Ny1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjc3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTY3Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3Ny5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjc3Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjc4LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjc4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02NzguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzktZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTY3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzkuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3OS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODAtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgwLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgwLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODEtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02ODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02ODEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4MS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTY4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTY4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjgyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02ODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODMuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODQu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02ODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTY4NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg1LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4NS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTY4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4NS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg2LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02ODYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg2Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODYuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02ODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4Ny1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02ODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY4Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4OC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4
OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg4Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg5
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg5
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02ODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjktZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjktZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5MC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5MC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjkwLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTEtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02OTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5My1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY5My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5My5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY5My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjkz
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjk0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02OTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY5NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTUuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02OTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5NS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk2LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjk2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02OTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi02OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02OTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5
OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY5OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk5LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5OS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY5OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5OS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjk5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MC5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTcwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MC5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTcwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTcwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzAwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDEuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
MDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
MDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTcwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzA0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzA0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDQuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03MDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwNS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03MDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTcwNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcw
Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTcwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzA2Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcw
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDgtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwOS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTcwOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwOS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTcwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzA5Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTcxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTAtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTAu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxMC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxMS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTcxMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxMS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTcxMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzEyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzEyLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTcxMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTMuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxMy5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTcxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTcxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzE0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE1LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE1
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTUuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTYt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03MTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTYu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTcxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTcxNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE3LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxNy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTcxNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxNy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE4LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03MTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNzE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE4Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTguaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxOS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTkuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTcxOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03Mi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIwLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIwLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjAu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03MjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyMS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjEtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03MjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjEuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTcyMS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyMi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTcyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyMi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTcyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIyLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTcyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyNS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTcyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyNS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTcyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI1
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjYtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI2Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MjYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjctZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTcyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyNy5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTcyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI4LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTcyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjkuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03My1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03My5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTczLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03My5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTczMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTczMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzMwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzEuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
MzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
MzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTczMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzM0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzM0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzQuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03MzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczNS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTczNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcz
Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTczNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzM2Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcz
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzgtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczOS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTczOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczOS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTczOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzM5Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDAtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDAu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0MC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0MS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0MS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQyLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDMuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0My5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTc0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTc0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ1LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ1
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDUuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDYt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03NDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDYu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03NDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ3LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0Ny1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0Ny5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ4LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03NDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNzQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ4Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDguaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0OS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDkuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc0OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUwLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUwLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTAu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03NTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1MS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTEtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03NTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTEuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc1MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1Mi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1Mi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUyLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1NS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc1NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1NS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU1
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTYtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU2Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03NTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTctZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1Ny5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU4LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTkuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03Ni1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03Ni5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03Ni5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2MC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2MC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzYwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjEuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
NjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03NjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2My1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzY0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03NjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzY0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjQuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03NjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2NS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc2NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2Ni1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2
Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2Ni5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzY2Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjgtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2OS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc2OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2OS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzY5Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzAtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzAu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3MC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3MS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3MS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzcyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzcyLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzMuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3My5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTc3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTc3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzc0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc1LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc1
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzUuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzYt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzYu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03NzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc3LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3Ny1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3Ny5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc4LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03NzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNzc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc4Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzguaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3OS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzkuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc3OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzgwLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzgwLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODAu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03ODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4MS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODEtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODEuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc4MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4Mi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4Mi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzgyLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03ODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4NS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc4NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4NS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg1
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODYtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg2Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03ODYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODctZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4Ny5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg4LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODkuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OS5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5MC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5MC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzkwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03OTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTEuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
OTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03OTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5My1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzk0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03OTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzk0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTQuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03OTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5NS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03OTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc5NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5Ni1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5
Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5Ni5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzk2Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Nzk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Nzk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTgtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5OS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5OS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzk5Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwMC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODAwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgwMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwMC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAwLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDEtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04MDEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwMi5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwMy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwMy5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDUuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04MDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwNS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODA2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA3
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDcuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDgt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi04MDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDgu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgwOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA5LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwOS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwOS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODEtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODEuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04MTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04MTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgxMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODEyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODEyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODEyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTIu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04MTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMy1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04MTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgxMy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxNC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxNC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE0Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04MTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgxNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTYuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxNy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTgxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxNy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE3
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTgtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE4LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE4Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MTguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTktZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTgxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTkuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxOS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Mi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjAt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIwLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgyMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04MjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyMS5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTgyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIyLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyMi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTgyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyMi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODIyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04MjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIzLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjMuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
MjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI1
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjYuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04MjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjcuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgyNy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyOC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgy
OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyOC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI4Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzMC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODMwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgzMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzMC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMwLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzEtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04MzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzMi5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzMy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzMy5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgzMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODM0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgzNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzUuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04MzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzNS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODM2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM3
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzcuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Mzgt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi04MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Mzgu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgzOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM5LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzOS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzOS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0MS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0MS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDIu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04NDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0My1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg0My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0NC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0NC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ0Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04NDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDYuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0Ny1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTg0Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0Ny5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg0Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ3
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODQ4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDgtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ4LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ4Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04NDguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDktZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTg0OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDkuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0OS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTAt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUwLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04NTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1MS5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTg1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUyLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTg1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1Mi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODUyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04NTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUzLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTMuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
NTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04NTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU1
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1NS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04NTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTYuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04NTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1Ny1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTcuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg1Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1OC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1
OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1OC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU4Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODU5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODYwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYwLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjEtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04NjEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2Mi5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2My1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2My5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODY0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjUuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2NS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODY2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY3
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjcuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Njgt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi04NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Njgu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04NjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY5LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2OS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2OS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODctZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODcuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3MS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3MS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODcyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODcyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzIu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04NzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3My1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg3My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3NC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg3NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3NC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc0Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04NzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzYuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3Ny1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTg3Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3Ny5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc3
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzgtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc4LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc4Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04NzguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzktZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTg3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzkuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3OS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODAt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgwLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04ODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04ODEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4MS5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTg4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgyLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTg4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4Mi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODgyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04ODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgzLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODMuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
ODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg1
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4NS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04ODYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODYuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04ODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4Ny1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04ODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODcuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg4Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4OC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4
OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4OC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg4Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04ODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODkt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODktZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODkwLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTEtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04OTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5Mi5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5My1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg5My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5My5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg5My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODk0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg5NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTUuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04OTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5NS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODk2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04OTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk3
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTcuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTgt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi04OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTgu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04OTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg5OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk5LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5OS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg5OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5OS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOS5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MC5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTAwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTAwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTAxLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTAxLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDEuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05MDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05MDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDQu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05MDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwNS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05MDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTkwNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwNi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTkwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwNi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTkwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA2Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDctZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTkwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDgtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwOS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkwOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwOS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA5
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTAuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
MTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxMC5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkx
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTkxMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkx
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTIt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTEyLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTEyLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTkxMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTMuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxMy5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTkxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTkxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTE0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE1LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE1
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTUuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
MTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05MTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTkxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE3
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE4LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05MTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tOTE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE4Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTguaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxOS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTkuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkxOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05Mi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyLmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIwLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
MjAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05MjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjEtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05MjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyMS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyMi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTkyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyMi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIyLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTkyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyNC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyNS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyNS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTkyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTI1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI2LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjctZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjcuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyNy5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI4LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI5LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI5
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjkuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05My1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05My5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05My5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTMwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTMwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTMxLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTMxLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzEuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05MzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05MzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkzMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzQu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05MzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzNS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTkzNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzNi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTkzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzNi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTkzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM2Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzctZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTkzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzgtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzOS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkzOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzOS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkzOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM5
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDAuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0MC5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDIt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQyLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQyLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDMuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0My5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTk0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0NC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTk0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0NC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ1LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ1
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDUuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05NDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ3
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0Ny1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0Ny5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ4LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05NDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tOTQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ4Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDguaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0OS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDkuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk0OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NS1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUwLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05NTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1MS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTEtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05NTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1Mi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1Mi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUyLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1NC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1NS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk1NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1NS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU2LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTctZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTcuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1Ny5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU4LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU5LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU5
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTkuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05Ni1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05Ni5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05Ni5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTYwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2MC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2MC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTYwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTYxLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTYxLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjEuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05NjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2Mi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2My1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2My5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjQu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05NjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2NS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk2NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2Ni1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTk2Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2Ni5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY2Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjctZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTk2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjgtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2OS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk2OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2OS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY5
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05Ny5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzAuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3MC5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzIt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTcyLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTcyLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzMuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3My5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTk3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3NC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTk3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3NC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTc0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc1LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc1
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzUuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NzYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc3
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3Ny1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3Ny5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc4LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05NzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tOTc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc4Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzguaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3OS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzkuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk3OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgwLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
ODAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05ODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4MS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODEtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4Mi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4Mi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgyLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05ODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4NC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4NS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk4NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4NS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg2LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODctZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODcuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4Ny5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg4LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg5LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg5
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODkuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OS5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTkwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5MC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5MC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTkwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTkxLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05OTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTkxLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTEuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05OTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5Mi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5My1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5My5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTQu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05OTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5NS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05OTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk5NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5Ni1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTk5Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5Ni5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk2Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTctZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTk5OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTgtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5OS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5OS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk5
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405180</attachid>
            <date>2020-07-24 14:36:34 -0700</date>
            <delta_ts>2020-07-24 14:36:34 -0700</delta_ts>
            <desc>Data collection (7)</desc>
            <filename>bug-214688-20200724143627.patch</filename>
            <type>text/plain</type>
            <size>2992204</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0ODU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGQ3ZDQ0Mzk0NWQ0N2U0Nzk4
ZGQ4NWRmYTA2OTI0MWVhOGQ4MDU3YjUuLjc4NTQxMjFlMWY2ZDc1NzQwNmU2NzI5YjRiMzZlN2Vi
M2JiN2M0ODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMDctMjQgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTiAocjI2
NDY5MCk6IFsgaU9TIHdrMiBdIGVkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGlzIGEgZmxha3kgZmFpbHVyZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0Njg4CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS82NTk5MzY4Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1t
OgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9zaW5nbGVUYXBJZGVudGlmaWVkOl0pOgorICAg
ICAgICAoLVtXS0NvbnRlbnRWaWV3IF9zaW5nbGVUYXBSZWNvZ25pemVkOl0pOgorICAgICAgICAq
IFVJUHJvY2Vzcy9pb3MvV0tTeW50aGV0aWNUYXBHZXN0dXJlUmVjb2duaXplci5tbToKKyAgICAg
ICAgKC1bV0tTeW50aGV0aWNUYXBHZXN0dXJlUmVjb2duaXplciBzZXRTdGF0ZTpdKToKKwogMjAy
MC0wNy0yNCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIENyYXNo
IHVuZGVyIFByZWNvbm5lY3RUYXNrOjpzdGFydCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQppbmRleCBiMDQxYzI5
MjkxZTJhM2MyODY3NjM2OWI1MDBjZmMxYzcyOTY1ZDZlLi4xYTc0ZjljODUyMDJhOWU3Y2FhODNk
MjE1MzcyN2M4MzA0NjIwN2Q4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9p
b3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KQEAgLTI3MjgsNiArMjcyOCw3IEBA
IC0gKHZvaWQpX2VuZFBvdGVudGlhbFRhcEFuZEVuYWJsZURvdWJsZVRhcEdlc3R1cmVzSWZOZWNl
c3NhcnkKIAogLSAodm9pZClfc2luZ2xlVGFwSWRlbnRpZmllZDooVUlUYXBHZXN0dXJlUmVjb2du
aXplciAqKWdlc3R1cmVSZWNvZ25pemVyCiB7CisgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiAlcyIs
IF9fUFJFVFRZX0ZVTkNUSU9OX18pOwogICAgIEFTU0VSVChnZXN0dXJlUmVjb2duaXplciA9PSBf
c2luZ2xlVGFwR2VzdHVyZVJlY29nbml6ZXIpOwogICAgIEFTU0VSVCghX3BvdGVudGlhbFRhcElu
UHJvZ3Jlc3MpOwogICAgIFtzZWxmIF9yZXNldElzRG91YmxlVGFwUGVuZGluZ107CkBAIC0yODAz
LDYgKzI4MDQsNyBAQCAtICh2b2lkKV9kaWRDb21wbGV0ZVN5bnRoZXRpY0NsaWNrCiAKIC0gKHZv
aWQpX3NpbmdsZVRhcFJlY29nbml6ZWQ6KFVJVGFwR2VzdHVyZVJlY29nbml6ZXIgKilnZXN0dXJl
UmVjb2duaXplcgogeworICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogJXMiLCBfX1BSRVRUWV9GVU5D
VElPTl9fKTsKICAgICBBU1NFUlQoZ2VzdHVyZVJlY29nbml6ZXIgPT0gX3NpbmdsZVRhcEdlc3R1
cmVSZWNvZ25pemVyKTsKIAogICAgIGlmICghW3NlbGYgaXNGaXJzdFJlc3BvbmRlcl0pCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tTeW50aGV0aWNUYXBHZXN0dXJl
UmVjb2duaXplci5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1N5bnRoZXRpY1Rh
cEdlc3R1cmVSZWNvZ25pemVyLm1tCmluZGV4IDYwZmJjYWQwYmY1MTc4YTQwOTFhODcyOGUzOWVh
NjkzNTIzOWFjZDguLmYxMGM5ODU3NDcyNWI1YjJhNzdlNTZjZWNiZDFiMDJkMDczYTMwZGQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1N5bnRoZXRpY1RhcEdlc3R1
cmVSZWNvZ25pemVyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1N5bnRo
ZXRpY1RhcEdlc3R1cmVSZWNvZ25pemVyLm1tCkBAIC02OCw2ICs2OCwxMiBAQCAtICh2b2lkKXNl
dFN0YXRlOihVSUdlc3R1cmVSZWNvZ25pemVyU3RhdGUpc3RhdGUKICAgICBlbHNlIGlmIChzdGF0
ZSA9PSBVSUdlc3R1cmVSZWNvZ25pemVyU3RhdGVGYWlsZWQpCiAgICAgICAgIFtfZ2VzdHVyZUZh
aWxlZFRhcmdldCBwZXJmb3JtU2VsZWN0b3I6X2dlc3R1cmVGYWlsZWRBY3Rpb24gd2l0aE9iamVj
dDpzZWxmXTsKICAgICBbc3VwZXIgc2V0U3RhdGU6c3RhdGVdOworICAgIGlmIChzdGF0ZSA9PSBV
SUdlc3R1cmVSZWNvZ25pemVyU3RhdGVFbmRlZCAmJiBzZWxmLnN0YXRlID09IFVJR2VzdHVyZVJl
Y29nbml6ZXJTdGF0ZUZhaWxlZCkgeworICAgICAgICBXVEZMb2dBbHdheXMoIjxXSz46ICoqKiBT
SU5HTEUgVEFQIEZBSUxFRCBUTyBSRUNPR05JWkUhICVAICoqKiIsIHNlbGYpOworICAgICAgICBm
b3IgKE5TU3RyaW5nICpzIGluIFtOU1RocmVhZCBjYWxsU3RhY2tTeW1ib2xzXSkKKyAgICAgICAg
ICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogJUAiLCBzKTsKKyAgICAgICAgV1RGTG9nQWx3YXlzKCI8
V0s+OiAiKTsKKyAgICB9CiB9CiAKIC0gKHZvaWQpcmVzZXQKZGlmZiAtLWdpdCBhL1Rvb2xzL0No
YW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBiN2ZjZmM5NDQxOWY3ZGVhZWQzMWEyNTYz
NWUzZTJjMzBmY2Y4MWM1Li5iNzJmZjM0MDc4NzExYjc5NTA2YTI5N2EyMDdkYmNhNWFmY2FhYjVi
IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTYgQEAKKzIwMjAtMDctMjQgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBs
ZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTiAocjI2NDY5MCk6IFsgaU9TIHdrMiBdIGVkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
IGlzIGEgZmxha3kgZmFpbHVyZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjE0Njg4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82NTk5MzY4Mz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYktpdFRl
c3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxl
cjo6cnVuVGVzdCk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlTY3JpcHRDb250
cm9sbGVySU9TLm1tOgorICAgICAgICAoV1RSOjpVSVNjcmlwdENvbnRyb2xsZXJJT1M6OnNpbmds
ZVRhcEF0UG9pbnRXaXRoTW9kaWZpZXJzKToKKwogMjAyMC0wNy0yNCAgWW91ZW5uIEZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHNvbWUgbG9nZ2luZyB0byBkZWJ1ZyBX
ZWJLaXQuUXVvdGFEZWxlZ2F0ZSB0ZXN0IHRoYXQgdGltZXMgb3V0IG9uIGEgRGVidWcgYm90CmRp
ZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcCBiL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCmluZGV4IDFiMTdiYWE4NWU3
OWNkZTJiYmE0ZjQ4MGRmMzg3NGE2YWFjNzM1MjMuLjdlZWI4NWQwM2IzNThjZDE1MzYwMTk4YTA2
N2U4YThmYzg5ZmE5MmEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENv
bnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIu
Y3BwCkBAIC0xODIzLDYgKzE4MjMsOCBAQCBib29sIFRlc3RDb250cm9sbGVyOjpydW5UZXN0KGNv
bnN0IGNoYXIqIGlucHV0TGluZSkKICAgICBXS1JldGFpblB0cjxXS1VSTFJlZj4gd2tVUkwgPSBh
ZG9wdFdLKGNyZWF0ZVRlc3RVUkwoY29tbWFuZC5wYXRoT3JVUkwuY19zdHIoKSkpOwogICAgIG1f
Y3VycmVudEludm9jYXRpb24gPSBtYWtlVW5pcXVlPFRlc3RJbnZvY2F0aW9uPih3a1VSTC5nZXQo
KSwgb3B0aW9ucyk7CiAKKyAgICBXVEZMb2dBbHdheXMoIjxXSz46IFJ1bm5pbmcgJXMiLCBjb21t
YW5kLnBhdGhPclVSTC5jX3N0cigpKTsKKwogICAgIGlmIChjb21tYW5kLnNob3VsZER1bXBQaXhl
bHMgfHwgbV9zaG91bGREdW1wUGl4ZWxzRm9yQWxsVGVzdHMpCiAgICAgICAgIG1fY3VycmVudElu
dm9jYXRpb24tPnNldElzUGl4ZWxUZXN0KGNvbW1hbmQuZXhwZWN0ZWRQaXhlbEhhc2gpOwogCmRp
ZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9VSVNjcmlwdENvbnRyb2xsZXJJ
T1MubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9VSVNjcmlwdENvbnRyb2xsZXJJT1Mu
bW0KaW5kZXggN2ZhZWU2NDQ1YTcwYmVhMDFjZTQ0MTIzYjc3MTY4ODMwNjAyZDNiNi4uMGRmNTRl
NjQ5MDNlODdhZGY3ZGQxYzNkMzA3ZGQzMzFmODcyYzZjNCAxMDA2NDQKLS0tIGEvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9pb3MvVUlTY3JpcHRDb250cm9sbGVySU9TLm1tCisrKyBiL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvaW9zL1VJU2NyaXB0Q29udHJvbGxlcklPUy5tbQpAQCAtMzAzLDYgKzMw
Myw3IEBAIHZvaWQgVUlTY3JpcHRDb250cm9sbGVySU9TOjpzaW5nbGVUYXBBdFBvaW50V2l0aE1v
ZGlmaWVycyhXZWJDb3JlOjpGbG9hdFBvaW50IGxvCiAgICAgZm9yIChhdXRvJiBtb2RpZmllckZs
YWcgOiBtb2RpZmllckZsYWdzKQogICAgICAgICBbW0hJREV2ZW50R2VuZXJhdG9yIHNoYXJlZEhJ
REV2ZW50R2VuZXJhdG9yXSBrZXlEb3duOm1vZGlmaWVyRmxhZ107CiAKKyAgICBXVEZMb2dBbHdh
eXMoIjxXSz46IFNlbmRpbmcgc2luZ2xlIHRhcCBhdCAoJS4wZiwgJS4wZikiLCBfX1BSRVRUWV9G
VU5DVElPTl9fLCBsb2NhdGlvbi54KCksIGxvY2F0aW9uLnkoKSk7CiAgICAgW1tISURFdmVudEdl
bmVyYXRvciBzaGFyZWRISURFdmVudEdlbmVyYXRvcl0gdGFwOmdsb2JhbFRvQ29udGVudENvb3Jk
aW5hdGVzKHdlYlZpZXcoKSwgbG9jYXRpb24ueCgpLCBsb2NhdGlvbi55KCkpIGNvbXBsZXRpb25C
bG9jazpbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWZQdHIoKnRoaXMpLCBtb2RpZmllckZs
YWdzID0gV1RGTW92ZShtb2RpZmllckZsYWdzKSwgYmxvY2sgPSBXVEZNb3ZlKGJsb2NrKV0gKCkg
bXV0YWJsZSB7CiAgICAgICAgIGlmICghbV9jb250ZXh0KQogICAgICAgICAgICAgcmV0dXJuOwpA
QCAtMzExLDYgKzMxMiw3IEBAIHZvaWQgVUlTY3JpcHRDb250cm9sbGVySU9TOjpzaW5nbGVUYXBB
dFBvaW50V2l0aE1vZGlmaWVycyhXZWJDb3JlOjpGbG9hdFBvaW50IGxvCiAgICAgICAgICAgICBb
W0hJREV2ZW50R2VuZXJhdG9yIHNoYXJlZEhJREV2ZW50R2VuZXJhdG9yXSBrZXlVcDptb2RpZmll
ckZsYWdzW2ldXTsKICAgICAgICAgfQogICAgICAgICBbW0hJREV2ZW50R2VuZXJhdG9yIHNoYXJl
ZEhJREV2ZW50R2VuZXJhdG9yXSBzZW5kTWFya2VySElERXZlbnRXaXRoQ29tcGxldGlvbkJsb2Nr
OmJsb2NrLmdldCgpXTsKKyAgICAgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiAuLi5kb25lIHNlbmRp
bmcgc2luZ2xlIHRhcC4iKTsKICAgICB9XTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDAtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDAu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMDAt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTAwMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEw
MDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDAwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xMDAwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTAxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTAxLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMi5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTEwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTAzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTEwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDQuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xMDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwNS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xMDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTEwNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwNi1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwNi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDcu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwOC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDguaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTEwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwOS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTEwOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwOS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA5Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xMTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExMC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTAtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xMTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTAuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExMS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTExMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExMS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTExMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTExLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTItZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTEyLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMTIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTExMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTMuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExMy5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEx
NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTExNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEx
NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTE0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTUt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE1Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTExNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xMTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTYuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExNi5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTExNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExNy1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTExNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTE3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xMTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE4
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTguaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExOS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xMTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTExOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMi1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIwLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIwLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjAuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xMjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyMS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xMjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTEyMS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyMi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyMi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIyLmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIzLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xMjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyNC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyNS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyNS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTEyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI1Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMjYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjctZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjcu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyNy5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyOC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTEyOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyOC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTEyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjktZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI5LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMy5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTEzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMwLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTEzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTMwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMxLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMi5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTEzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTEzMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzQuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xMzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzNS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xMzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTEzNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzNi1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzNi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzcu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzOC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzguaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTEzOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzOS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTEzOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzOS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEzOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM5Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0MC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDAtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDAuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQxLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDItZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQyLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNDIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDMuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0My5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0
NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0
NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDUt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ1Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xNDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDYuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xNDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0Ni5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0Ny1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0Ny5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTQ3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xNDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ4
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDguaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0OS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE0OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUwLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUwLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTAuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xNTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xNTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE1MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Mi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Mi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUyLmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUzLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xNTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1NC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1NS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE1NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1NS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU1Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xNTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTctZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTcu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Ny5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1OC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTE1OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1OC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTktZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU5LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNi5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYwLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTYwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYxLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xNjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Mi5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTE2My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2My1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTE2My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2My5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xNjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjQuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xNjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2NS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xNjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE2NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Ni5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjcu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2OC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjguaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2OS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE2OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2OS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY5Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3MC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzAtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzAuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTcxLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzItZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTcyLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNzIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzMuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3My5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3
NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE3NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3
NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTc0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzUt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc1Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzYuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xNzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3Ni5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3Ny1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3Ny5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTc3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xNzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc4
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzguaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE3OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTgwLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xODAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTgwLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODAuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE4MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Mi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Mi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTgyLmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTgzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTgzLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
ODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4NC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4NS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE4NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4NS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg1Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xODYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODctZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODcu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Ny5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4OC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTE4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4OC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODktZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg5LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkwLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTkwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
OTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkxLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xOTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xOTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Mi5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTE5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5My1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTE5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5My5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xOTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTQuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xOTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5NS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xOTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE5NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Ni5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTcu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xOTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5OC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xOTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTguaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5OS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5OS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk5Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMi5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjAwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIw
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAwLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yMDEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yMDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yMDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMy5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAzLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMDQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
MDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwNS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIw
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTIwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIw
Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjA2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDgtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTIwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0yMDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwOC5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIwOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwOS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwOS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjA5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjEuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTAtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTAuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yMTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIx
MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTIxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjExLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxMS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTIxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxMS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjEyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjEyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjEyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTIuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yMTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxMy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yMTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIxMy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE0Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE1Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
MTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yMTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTYtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yMTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTYuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTIxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNy5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE3Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTgtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMTguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTIxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTktZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTku
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxOS5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjAtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIwLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIwLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yMjAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjEtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIyMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yMjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyMS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTIyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIyLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTIyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjIyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
MjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjQuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyNC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTIyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI1LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyNS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTIyNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyNS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjI1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI2LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MjI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI2Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjYuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yMjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyNy1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIyNy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MjI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyOC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyOC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI5Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjku
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjMwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIz
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMwLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yMzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yMzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yMzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMy5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIzMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMzLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjM0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIzNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
MzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzNS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIz
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTIzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIz
Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjM2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzgtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTIzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0yMzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzOC5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzOS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzOS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjM5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDAtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDAuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0
MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTI0MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0MS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTI0MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDIuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yNDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0My1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yNDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI0My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0NC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0NC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ1Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
NDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDYtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDYuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0Ny1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTI0Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0Ny5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI0Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ3Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjQ4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDgtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNDguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTI0OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDktZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDku
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0OS5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTAtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUwLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUwLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTEtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yNTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1MS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTI1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUyLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTI1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjUyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
NTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTQuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1NC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTI1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU1LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1NS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTI1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1NS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU2LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MjU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU2Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTYuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yNTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1Ny1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI1Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MjU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1OC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1OC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjU5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU5Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTku
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjYwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2MC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYwLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yNjEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yNjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2Mi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yNjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2My1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2My5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYzLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjY0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNjQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2NS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTI2Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2
Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjY2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjgtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTI2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0yNjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2OC5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2OS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjY5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNy5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzAtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzAuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3
MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTI3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjcxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3MS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTI3MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjcyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjcyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzIuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yNzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3My1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yNzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI3My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3NC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3NC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc0Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc1Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
NzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNzYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzYtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzYuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3Ny1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjc3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTI3Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3Ny5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc3Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzgtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNzguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTI3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzktZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzku
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3OS5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODAtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgwLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgwLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yODAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODEtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
ODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yODEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4MS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTI4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgyLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTI4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjgyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
ODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODQuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4NC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTI4NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg1LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4NS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTI4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4NS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg2LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yODYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Mjg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg2Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODYuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4Ny1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI4Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Mjg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4OC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4OC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg5Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODku
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjktZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5MC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjkwLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjkx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjkx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yOTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yOTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5Mi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yOTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5My1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI5My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5My5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI5My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjkzLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjk0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yOTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI5NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
OTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5NS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTI5Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5
Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjk2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTgtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTI5OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0yOTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yOTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5OC5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI5OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI5OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5OS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjk5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMC5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAwLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzAwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAxLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAxLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDEuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDIuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMw
Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTMwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwMy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTMwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwMy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDQuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zMDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwNS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zMDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTMwNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwNi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwNi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA2Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA3LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwOC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwOS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMwOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwOS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA5Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMx
MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTAtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTAuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxMS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTMxMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxMS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTMxMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzExLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzEyLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzEyLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMTIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTMxMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTMuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxMy5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTMxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTMxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzE0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE1LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE1Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTYtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zMTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTYuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNi5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTMxNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE3LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTMxNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzE3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE4LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zMTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MzE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE4Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTguaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxOS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMxOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIwLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIwLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjAuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zMjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyMS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zMjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjEuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTMyMS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyMi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMy
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIyLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zMjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyNC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyNS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTMyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI1Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjYtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMjYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjct
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyNy5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMy
OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTMyOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMy
OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjkt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI5Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMy5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMy5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMwLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzMwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMxLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMxLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzEuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzIuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMz
Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTMzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzMy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTMzMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzMy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzQuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zMzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzNS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zMzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTMzNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzNi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzNi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM2Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM3LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzOC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzOS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMzOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzOS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMzOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM5Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0
MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDAtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDAuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0MS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0MS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQxLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQyLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQyLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNDIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDMuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0My5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTM0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTM0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ1LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ1Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDYtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zNDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDYuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zNDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0Ni5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ3LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0Ny1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0Ny5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzQ3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ4LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zNDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MzQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ4Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDguaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM0OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUwLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUwLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTAuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zNTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1MS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zNTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTEuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM1MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Mi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUyLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zNTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1NC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1NS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM1NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1NS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU1Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTYtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zNTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTct
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Ny5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1
OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTM1OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1
OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTkt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU5Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNi5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYwLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzYwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYxLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYxLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjEuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zNjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjIuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2
Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTM2My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2My1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTM2My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2My5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zNjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjQuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zNjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2NS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zNjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM2NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2Ni1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2Ni5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY2Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY3LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2OC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2OS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM2OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2OS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY5Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3
MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzAtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzAuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3MS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3MS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzcxLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzcyLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzcyLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNzIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzMuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3My5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTM3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTM3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzc0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc1LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc1Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzYtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzYuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zNzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3Ni5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc3LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3Ny1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3Ny5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzc3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc4LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zNzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Mzc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc4Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzguaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM3OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzgwLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zODAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzgwLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODAuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4MS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODEuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM4MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Mi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzgyLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzgz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzgz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4NC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4NS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM4NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4NS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg1Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODYtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zODYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODct
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Ny5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4
OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTM4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4
OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODkt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg5Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkwLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzkwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zOTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkxLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkxLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTEuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zOTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTIuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zOTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5
Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTM5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5My1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTM5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5My5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zOTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTQuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zOTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5NS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zOTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM5NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5Ni1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5Ni5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk2Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk3LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zOTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5OC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zOTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5OS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5OS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk5Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDAtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDAtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwMC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDAwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQw
MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwMC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDAwLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00MDEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQw
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwMy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwMy5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDAzLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MDQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDUuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00MDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwNS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA2LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDA2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA3Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDgtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi00MDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDguaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwOC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQwOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA5LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwOS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwOS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDA5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDEtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDEuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTAt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00MTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQxMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDExLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxMS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxMS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDEyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDEyLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDEyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTIuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00MTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxMy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00MTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQxMy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQx
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE0Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00MTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00MTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTYtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTYuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNy5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE3Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTgtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MTguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTkuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxOS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQy
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQy
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjAtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIwLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00MjAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjEtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQyMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00MjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyMS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIyLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDIyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00MjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjMuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjQuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQy
NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyNS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQyNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDI1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI2LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI2Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjYuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00MjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyNy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQyNy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyOC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyOC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI4Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI5Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDMtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzMC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDMwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQz
MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzMC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDMwLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00MzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQz
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzMy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzMy5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQzMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDMzLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDM0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQzNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzUuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00MzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzNS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM2LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDM2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM3Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzgtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi00MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzguaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzOC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM5LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzOS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzOS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDM5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDAt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQ0MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQxLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0MS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQ0MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0MS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQyLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDIuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00NDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0My1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ0My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ0Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00NDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0Ni1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDYtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDYuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0Ny1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQ0Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0Ny5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ0Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ3Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDQ4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDgtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00NDguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQ0OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDkuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0OS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTAtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUwLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTEtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00NTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1MS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQ1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUyLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQ1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDUyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00NTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTMuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00NTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTQuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1
NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQ1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1NS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQ1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1NS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU2LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00NTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU2Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTYuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00NTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1Ny1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ1Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1OC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1OC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU4Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDU5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU5Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDYtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2MC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDYwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2
MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2MC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDYwLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00NjEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2My1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2My5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDYzLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDY0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NjQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjUuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2NS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY2LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDY2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY3Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjgtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi00NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjguaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00NjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2OC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY5LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2OS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2OS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDY5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzAt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQ3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcxLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3MS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQ3MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3MS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcyLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzIuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00NzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3My1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ3My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc0Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00NzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NzYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3Ni1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzYtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzYuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3Ny1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDc3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQ3Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3Ny5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc3Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzgtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00NzguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQ3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00Nzkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzkuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3OS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODAtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgwLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00ODAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODEtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00ODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00ODEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4MS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQ4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgyLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQ4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDgyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00ODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODMuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODQuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00ODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4
NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQ4NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4NS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQ4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4NS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg2LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00ODYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg2Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODYuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00ODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4Ny1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00ODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ4Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4OC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4OC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg4Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg5Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
ODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDktZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5MC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5
MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5MC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDkwLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00OTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5My1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ5My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5My5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ5My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDkzLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDk0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00OTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ5NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTUuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00OTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5NS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk2LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDk2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
OTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk3Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTgtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi00OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTguaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00OTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5OC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ5OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk5LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5OS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ5OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5OS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDk5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MC5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MC5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAwLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTAwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAx
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDEuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTUwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwMy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTUwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwMy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDQuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01MDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwNS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01MDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTUwNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwNi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUw
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA2Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA3
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwOC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwOS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUwOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwOS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA5Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTAtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxMS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTUxMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxMS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTUxMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTEx
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTItZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTEyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTEyLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MTIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTUxMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxMy5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTUxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTUxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTE0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE1LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTUuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTYtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01MTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTYuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUx
Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTUxNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE3LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxNy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTUxNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxNy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTE3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01MTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNTE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTguaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxOS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUxOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01Mi1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTIwLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTIwLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjAuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01MjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyMS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01MjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjEuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTUyMS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyMi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUy
Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyMi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTIyLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUy
NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyNS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyNS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTUyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI1Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjYtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI2LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI2Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MjYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyNy5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI5LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI5Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01My1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01My5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01My5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMwLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTMwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMx
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzEuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUzMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTUzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzMy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTUzMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzMy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzQuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01MzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzNS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTUzNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzNi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUz
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM2Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM3
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzOC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzOS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUzOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzOS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUzOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM5Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDAtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0MS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0MS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQx
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDItZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQyLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NDIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0My5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTU0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTU0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ1LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDUuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDYtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01NDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDYuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01NDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0
Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ3LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0Ny5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTQ3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01NDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNTQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDguaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0OS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU0OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTUuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTUwLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTUwLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTAuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01NTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1MS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01NTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTEuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU1MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1
Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTUyLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1
NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1NS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU1NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1NS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU1Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTYtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU2LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU2Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01NTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1Ny5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU5LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU5Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01Ni1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01Ni5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01Ni5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYwLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTYwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYx
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjEuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01NjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTU2My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2My1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTU2My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2My5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01NjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjQuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01NjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2NS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU2NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2Ni1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY2Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY3
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2OC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2OS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU2OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2OS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY5Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzAtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3MS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3MS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTcx
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzItZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTcyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTcyLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NzIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3My5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTU3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTU3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTc0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc1LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzUuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzYtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzYuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01NzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3
Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc3LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3Ny5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTc3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01NzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNTc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzguaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3OS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU3OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTgwLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01ODAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTgwLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODAuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01ODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4MS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODEuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU4MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4
Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTgyLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01ODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4
NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4NS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU4NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4NS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg1Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODYtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg2LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg2Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01ODYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4Ny5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg5LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg5Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkwLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTkwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01OTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkx
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTEuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01OTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01OTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTU5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5My1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTU5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5My5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01OTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTQuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01OTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5NS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01OTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU5NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5Ni1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk2Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk3
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01OTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5OC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01OTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5OS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5OS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk5Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwMC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjAwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYwMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwMC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAwLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDEtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02MDEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAz
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MDQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDUuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02MDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwNS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA2LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjA2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi02MDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYw
OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYwOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA5LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwOS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwOS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjA5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
MTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
MTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYxMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEx
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEyLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjEyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTIuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02MTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02MTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYxMy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxNC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYx
NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxNC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjE0Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NjE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NjE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02MTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYx
Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTYtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTYuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxNy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTYxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxNy5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjE3Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjE4LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjE4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MTguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTktZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTYxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTkuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxOS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYy
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjAtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIwLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIwLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjEtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYyMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02MjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyMS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTYyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTYyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjIyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02MjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjMuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjQu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTYyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI1LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyNS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTYyNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyNS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI2LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI2Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjYuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02MjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyNy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYyNy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyOC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYy
OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI4Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI5
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI5
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzMC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjMwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYzMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzMC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMwLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzEtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02MzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYzMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMz
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjM0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYzNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzUuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02MzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzNS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM2LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjM2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi02MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYz
OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM5LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzOS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzOS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjM5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQx
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0MS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0MS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQyLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDIuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02NDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0My1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY0My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0NC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0
NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0NC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQ0Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NjQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NjQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02NDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0
Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDYtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDYuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0Ny1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTY0Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0Ny5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY0Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQ3Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjQ4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQ4LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQ4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02NDguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDktZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTY0OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDkuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0OS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTAtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUwLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUwLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTEtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02NTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1MS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTY1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTY1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjUyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02NTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTMuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02NTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTQu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTY1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU1LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1NS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTY1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1NS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU2LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02NTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU2Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTYuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02NTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1Ny1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY1Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1OC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1
OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU4Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU5
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjU5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU5
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2MC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjYwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2MC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYwLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjEtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02NjEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2My1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2My5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYz
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjY0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NjQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjUuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2NS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY2LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjY2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi02NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02NjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2
OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY5LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2OS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2OS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjY5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjctZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcx
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3MS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3MS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcyLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzIuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02NzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3My1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY3My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3NC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3
NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3NC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjc0Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Njc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Njc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02NzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3
Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzYtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzYuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3Ny1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjc3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTY3Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3Ny5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjc3Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjc4LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjc4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02NzguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzktZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTY3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzkuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3OS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODAtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgwLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgwLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODEtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02ODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02ODEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4MS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTY4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTY4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjgyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02ODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODMuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODQu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02ODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTY4NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg1LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4NS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTY4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4NS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg2LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02ODYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg2Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODYuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02ODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4Ny1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02ODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY4Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4OC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4
OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg4Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg5
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg5
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02ODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjktZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjktZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5MC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5MC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjkwLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTEtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02OTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5My1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY5My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5My5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY5My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjkz
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjk0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02OTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY5NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTUuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02OTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5NS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk2LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjk2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02OTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi02OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02OTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5
OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY5OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk5LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5OS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY5OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5OS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjk5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MC5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTcwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MC5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTcwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTcwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzAwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDEuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
MDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
MDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTcwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzA0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzA0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDQuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03MDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwNS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03MDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTcwNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcw
Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTcwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzA2Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcw
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDgtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwOS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTcwOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwOS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTcwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzA5Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTcxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTAtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTAu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxMC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxMS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTcxMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxMS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTcxMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzEyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzEyLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTcxMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTMuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxMy5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTcxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTcxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzE0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE1LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE1
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTUuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTYt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03MTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTYu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTcxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTcxNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE3LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxNy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTcxNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxNy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE4LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03MTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNzE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE4Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTguaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxOS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTkuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTcxOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03Mi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIwLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIwLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjAu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03MjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyMS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjEtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03MjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjEuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTcyMS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyMi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTcyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyMi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTcyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIyLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTcyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyNS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTcyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyNS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTcyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI1
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjYtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI2Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MjYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjctZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTcyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyNy5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTcyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI4LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTcyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjkuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03My1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03My5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTczLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03My5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTczMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTczMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzMwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzEuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
MzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
MzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTczMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzM0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzM0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzQuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03MzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczNS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTczNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcz
Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTczNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzM2Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcz
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzgtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczOS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTczOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczOS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTczOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzM5Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDAtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDAu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0MC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0MS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0MS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQyLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDMuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0My5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTc0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTc0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ1LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ1
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDUuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDYt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03NDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDYu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03NDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ3LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0Ny1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0Ny5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ4LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03NDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNzQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ4Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDguaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0OS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDkuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc0OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUwLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUwLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTAu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03NTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1MS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTEtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03NTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTEuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc1MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1Mi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1Mi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUyLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1NS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc1NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1NS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU1
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTYtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU2Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03NTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTctZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1Ny5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU4LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTkuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03Ni1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03Ni5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03Ni5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2MC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2MC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzYwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjEuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
NjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03NjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2My1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzY0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03NjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzY0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjQuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03NjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2NS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc2NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2Ni1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2
Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2Ni5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzY2Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjgtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2OS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc2OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2OS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzY5Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzAtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzAu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3MC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3MS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3MS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzcyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzcyLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzMuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3My5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTc3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTc3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzc0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc1LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc1
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzUuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzYt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzYu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03NzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc3LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3Ny1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3Ny5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc4LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03NzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNzc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc4Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzguaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3OS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzkuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc3OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzgwLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzgwLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODAu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03ODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4MS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODEtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODEuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc4MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4Mi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4Mi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzgyLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03ODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4NS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc4NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4NS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg1
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODYtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg2Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03ODYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODctZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4Ny5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg4LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODkuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OS5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5MC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5MC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzkwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03OTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTEuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
OTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03OTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5My1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzk0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03OTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzk0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTQuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03OTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5NS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03OTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc5NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5Ni1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5
Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5Ni5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzk2Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Nzk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Nzk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTgtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5OS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5OS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzk5Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwMC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODAwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgwMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwMC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAwLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDEtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04MDEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwMi5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwMy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwMy5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDUuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04MDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwNS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODA2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA3
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDcuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDgt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi04MDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDgu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgwOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA5LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwOS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwOS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODEtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODEuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04MTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04MTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgxMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODEyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODEyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODEyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTIu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04MTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMy1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04MTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgxMy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxNC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxNC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE0Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04MTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgxNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTYuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxNy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTgxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxNy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE3
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTgtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE4LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE4Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MTguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTktZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTgxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTkuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxOS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Mi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjAt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIwLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgyMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04MjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyMS5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTgyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIyLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyMi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTgyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyMi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODIyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04MjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIzLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjMuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
MjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI1
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjYuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04MjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjcuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgyNy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyOC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgy
OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyOC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI4Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzMC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODMwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgzMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzMC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMwLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzEtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04MzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzMi5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzMy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzMy5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgzMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODM0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgzNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzUuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04MzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzNS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODM2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM3
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzcuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Mzgt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi04MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Mzgu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgzOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM5LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzOS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzOS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0MS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0MS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDIu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04NDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0My1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg0My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0NC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0NC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ0Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04NDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDYuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0Ny1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTg0Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0Ny5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg0Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ3
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODQ4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDgtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ4LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ4Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04NDguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDktZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTg0OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDkuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0OS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTAt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUwLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04NTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1MS5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTg1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUyLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTg1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1Mi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODUyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04NTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUzLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTMuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
NTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04NTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU1
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1NS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04NTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTYuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04NTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1Ny1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTcuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg1Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1OC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1
OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1OC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU4Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODU5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODYwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYwLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjEtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04NjEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2Mi5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2My1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2My5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODY0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjUuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2NS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODY2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY3
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjcuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Njgt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi04NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Njgu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04NjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY5LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2OS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2OS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODctZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODcuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3MS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3MS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODcyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODcyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzIu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04NzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3My1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg3My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3NC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg3NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3NC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc0Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04NzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzYuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3Ny1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTg3Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3Ny5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc3
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzgtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc4LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc4Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04NzguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzktZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTg3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzkuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3OS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODAt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgwLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04ODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04ODEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4MS5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTg4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgyLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTg4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4Mi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODgyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04ODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgzLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODMuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
ODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg1
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4NS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04ODYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODYuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04ODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4Ny1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04ODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODcuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg4Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4OC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4
OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4OC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg4Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04ODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODkt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODktZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODkwLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTEtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04OTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5Mi5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5My1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg5My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5My5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg5My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODk0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg5NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTUuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04OTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5NS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODk2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04OTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk3
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTcuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTgt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi04OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTgu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04OTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg5OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk5LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5OS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg5OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5OS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOS5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MC5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTAwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTAwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTAxLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTAxLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDEuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05MDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05MDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDQu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05MDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwNS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05MDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTkwNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwNi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTkwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwNi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTkwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA2Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDctZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTkwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDgtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwOS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkwOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwOS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA5
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTAuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
MTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxMC5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkx
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTkxMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkx
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTIt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTEyLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTEyLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTkxMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTMuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxMy5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTkxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTkxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTE0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE1LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE1
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTUuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
MTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05MTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTkxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE3
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE4LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05MTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tOTE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE4Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTguaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxOS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTkuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkxOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05Mi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyLmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIwLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
MjAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05MjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjEtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05MjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyMS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyMi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTkyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyMi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIyLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTkyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyNC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyNS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyNS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTkyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTI1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI2LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjctZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjcuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyNy5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI4LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI5LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI5
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjkuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05My1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05My5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05My5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTMwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTMwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTMxLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTMxLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzEuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05MzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05MzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkzMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzQu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05MzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzNS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTkzNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzNi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTkzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzNi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTkzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM2Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzctZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTkzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzgtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzOS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkzOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzOS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkzOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM5
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDAuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0MC5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDIt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQyLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQyLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDMuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0My5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTk0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0NC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTk0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0NC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ1LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ1
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDUuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05NDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ3
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0Ny1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0Ny5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ4LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05NDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tOTQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ4Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDguaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0OS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDkuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk0OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NS1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUwLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05NTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1MS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTEtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05NTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1Mi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1Mi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUyLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1NC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1NS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk1NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1NS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU2LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTctZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTcuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1Ny5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU4LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU5LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU5
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTkuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05Ni1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05Ni5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05Ni5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTYwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2MC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2MC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTYwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTYxLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTYxLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjEuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05NjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2Mi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2My1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2My5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjQu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05NjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2NS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk2NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2Ni1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTk2Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2Ni5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY2Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjctZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTk2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjgtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2OS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk2OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2OS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY5
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05Ny5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzAuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3MC5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzIt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTcyLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTcyLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzMuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3My5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTk3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3NC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTk3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3NC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTc0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc1LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc1
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzUuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NzYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc3
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3Ny1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3Ny5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc4LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05NzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tOTc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc4Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzguaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3OS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzkuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk3OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgwLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
ODAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05ODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4MS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODEtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4Mi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4Mi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgyLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05ODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4NC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4NS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk4NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4NS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg2LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODctZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODcuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4Ny5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg4LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg5LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg5
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODkuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OS5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTkwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5MC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5MC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTkwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTkxLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05OTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTkxLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTEuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05OTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5Mi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5My1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5My5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTQu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05OTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5NS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05OTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk5NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5Ni1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTk5Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5Ni5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk2Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTctZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTk5OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTgtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5OS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5OS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk5
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405181</attachid>
            <date>2020-07-24 14:36:44 -0700</date>
            <delta_ts>2020-07-24 14:36:44 -0700</delta_ts>
            <desc>Data collection (8)</desc>
            <filename>bug-214688-20200724143637.patch</filename>
            <type>text/plain</type>
            <size>2992204</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0ODU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGQ3ZDQ0Mzk0NWQ0N2U0Nzk4
ZGQ4NWRmYTA2OTI0MWVhOGQ4MDU3YjUuLjc4NTQxMjFlMWY2ZDc1NzQwNmU2NzI5YjRiMzZlN2Vi
M2JiN2M0ODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMDctMjQgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTiAocjI2
NDY5MCk6IFsgaU9TIHdrMiBdIGVkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGlzIGEgZmxha3kgZmFpbHVyZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0Njg4CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS82NTk5MzY4Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1t
OgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9zaW5nbGVUYXBJZGVudGlmaWVkOl0pOgorICAg
ICAgICAoLVtXS0NvbnRlbnRWaWV3IF9zaW5nbGVUYXBSZWNvZ25pemVkOl0pOgorICAgICAgICAq
IFVJUHJvY2Vzcy9pb3MvV0tTeW50aGV0aWNUYXBHZXN0dXJlUmVjb2duaXplci5tbToKKyAgICAg
ICAgKC1bV0tTeW50aGV0aWNUYXBHZXN0dXJlUmVjb2duaXplciBzZXRTdGF0ZTpdKToKKwogMjAy
MC0wNy0yNCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIENyYXNo
IHVuZGVyIFByZWNvbm5lY3RUYXNrOjpzdGFydCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQppbmRleCBiMDQxYzI5
MjkxZTJhM2MyODY3NjM2OWI1MDBjZmMxYzcyOTY1ZDZlLi4xYTc0ZjljODUyMDJhOWU3Y2FhODNk
MjE1MzcyN2M4MzA0NjIwN2Q4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9p
b3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KQEAgLTI3MjgsNiArMjcyOCw3IEBA
IC0gKHZvaWQpX2VuZFBvdGVudGlhbFRhcEFuZEVuYWJsZURvdWJsZVRhcEdlc3R1cmVzSWZOZWNl
c3NhcnkKIAogLSAodm9pZClfc2luZ2xlVGFwSWRlbnRpZmllZDooVUlUYXBHZXN0dXJlUmVjb2du
aXplciAqKWdlc3R1cmVSZWNvZ25pemVyCiB7CisgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiAlcyIs
IF9fUFJFVFRZX0ZVTkNUSU9OX18pOwogICAgIEFTU0VSVChnZXN0dXJlUmVjb2duaXplciA9PSBf
c2luZ2xlVGFwR2VzdHVyZVJlY29nbml6ZXIpOwogICAgIEFTU0VSVCghX3BvdGVudGlhbFRhcElu
UHJvZ3Jlc3MpOwogICAgIFtzZWxmIF9yZXNldElzRG91YmxlVGFwUGVuZGluZ107CkBAIC0yODAz
LDYgKzI4MDQsNyBAQCAtICh2b2lkKV9kaWRDb21wbGV0ZVN5bnRoZXRpY0NsaWNrCiAKIC0gKHZv
aWQpX3NpbmdsZVRhcFJlY29nbml6ZWQ6KFVJVGFwR2VzdHVyZVJlY29nbml6ZXIgKilnZXN0dXJl
UmVjb2duaXplcgogeworICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogJXMiLCBfX1BSRVRUWV9GVU5D
VElPTl9fKTsKICAgICBBU1NFUlQoZ2VzdHVyZVJlY29nbml6ZXIgPT0gX3NpbmdsZVRhcEdlc3R1
cmVSZWNvZ25pemVyKTsKIAogICAgIGlmICghW3NlbGYgaXNGaXJzdFJlc3BvbmRlcl0pCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tTeW50aGV0aWNUYXBHZXN0dXJl
UmVjb2duaXplci5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1N5bnRoZXRpY1Rh
cEdlc3R1cmVSZWNvZ25pemVyLm1tCmluZGV4IDYwZmJjYWQwYmY1MTc4YTQwOTFhODcyOGUzOWVh
NjkzNTIzOWFjZDguLmYxMGM5ODU3NDcyNWI1YjJhNzdlNTZjZWNiZDFiMDJkMDczYTMwZGQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1N5bnRoZXRpY1RhcEdlc3R1
cmVSZWNvZ25pemVyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1N5bnRo
ZXRpY1RhcEdlc3R1cmVSZWNvZ25pemVyLm1tCkBAIC02OCw2ICs2OCwxMiBAQCAtICh2b2lkKXNl
dFN0YXRlOihVSUdlc3R1cmVSZWNvZ25pemVyU3RhdGUpc3RhdGUKICAgICBlbHNlIGlmIChzdGF0
ZSA9PSBVSUdlc3R1cmVSZWNvZ25pemVyU3RhdGVGYWlsZWQpCiAgICAgICAgIFtfZ2VzdHVyZUZh
aWxlZFRhcmdldCBwZXJmb3JtU2VsZWN0b3I6X2dlc3R1cmVGYWlsZWRBY3Rpb24gd2l0aE9iamVj
dDpzZWxmXTsKICAgICBbc3VwZXIgc2V0U3RhdGU6c3RhdGVdOworICAgIGlmIChzdGF0ZSA9PSBV
SUdlc3R1cmVSZWNvZ25pemVyU3RhdGVFbmRlZCAmJiBzZWxmLnN0YXRlID09IFVJR2VzdHVyZVJl
Y29nbml6ZXJTdGF0ZUZhaWxlZCkgeworICAgICAgICBXVEZMb2dBbHdheXMoIjxXSz46ICoqKiBT
SU5HTEUgVEFQIEZBSUxFRCBUTyBSRUNPR05JWkUhICVAICoqKiIsIHNlbGYpOworICAgICAgICBm
b3IgKE5TU3RyaW5nICpzIGluIFtOU1RocmVhZCBjYWxsU3RhY2tTeW1ib2xzXSkKKyAgICAgICAg
ICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogJUAiLCBzKTsKKyAgICAgICAgV1RGTG9nQWx3YXlzKCI8
V0s+OiAiKTsKKyAgICB9CiB9CiAKIC0gKHZvaWQpcmVzZXQKZGlmZiAtLWdpdCBhL1Rvb2xzL0No
YW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBiN2ZjZmM5NDQxOWY3ZGVhZWQzMWEyNTYz
NWUzZTJjMzBmY2Y4MWM1Li5iNzJmZjM0MDc4NzExYjc5NTA2YTI5N2EyMDdkYmNhNWFmY2FhYjVi
IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTYgQEAKKzIwMjAtMDctMjQgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBs
ZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTiAocjI2NDY5MCk6IFsgaU9TIHdrMiBdIGVkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
IGlzIGEgZmxha3kgZmFpbHVyZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjE0Njg4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82NTk5MzY4Mz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYktpdFRl
c3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxl
cjo6cnVuVGVzdCk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlTY3JpcHRDb250
cm9sbGVySU9TLm1tOgorICAgICAgICAoV1RSOjpVSVNjcmlwdENvbnRyb2xsZXJJT1M6OnNpbmds
ZVRhcEF0UG9pbnRXaXRoTW9kaWZpZXJzKToKKwogMjAyMC0wNy0yNCAgWW91ZW5uIEZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHNvbWUgbG9nZ2luZyB0byBkZWJ1ZyBX
ZWJLaXQuUXVvdGFEZWxlZ2F0ZSB0ZXN0IHRoYXQgdGltZXMgb3V0IG9uIGEgRGVidWcgYm90CmRp
ZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcCBiL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCmluZGV4IDFiMTdiYWE4NWU3
OWNkZTJiYmE0ZjQ4MGRmMzg3NGE2YWFjNzM1MjMuLjdlZWI4NWQwM2IzNThjZDE1MzYwMTk4YTA2
N2U4YThmYzg5ZmE5MmEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENv
bnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIu
Y3BwCkBAIC0xODIzLDYgKzE4MjMsOCBAQCBib29sIFRlc3RDb250cm9sbGVyOjpydW5UZXN0KGNv
bnN0IGNoYXIqIGlucHV0TGluZSkKICAgICBXS1JldGFpblB0cjxXS1VSTFJlZj4gd2tVUkwgPSBh
ZG9wdFdLKGNyZWF0ZVRlc3RVUkwoY29tbWFuZC5wYXRoT3JVUkwuY19zdHIoKSkpOwogICAgIG1f
Y3VycmVudEludm9jYXRpb24gPSBtYWtlVW5pcXVlPFRlc3RJbnZvY2F0aW9uPih3a1VSTC5nZXQo
KSwgb3B0aW9ucyk7CiAKKyAgICBXVEZMb2dBbHdheXMoIjxXSz46IFJ1bm5pbmcgJXMiLCBjb21t
YW5kLnBhdGhPclVSTC5jX3N0cigpKTsKKwogICAgIGlmIChjb21tYW5kLnNob3VsZER1bXBQaXhl
bHMgfHwgbV9zaG91bGREdW1wUGl4ZWxzRm9yQWxsVGVzdHMpCiAgICAgICAgIG1fY3VycmVudElu
dm9jYXRpb24tPnNldElzUGl4ZWxUZXN0KGNvbW1hbmQuZXhwZWN0ZWRQaXhlbEhhc2gpOwogCmRp
ZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9VSVNjcmlwdENvbnRyb2xsZXJJ
T1MubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9VSVNjcmlwdENvbnRyb2xsZXJJT1Mu
bW0KaW5kZXggN2ZhZWU2NDQ1YTcwYmVhMDFjZTQ0MTIzYjc3MTY4ODMwNjAyZDNiNi4uMGRmNTRl
NjQ5MDNlODdhZGY3ZGQxYzNkMzA3ZGQzMzFmODcyYzZjNCAxMDA2NDQKLS0tIGEvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9pb3MvVUlTY3JpcHRDb250cm9sbGVySU9TLm1tCisrKyBiL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvaW9zL1VJU2NyaXB0Q29udHJvbGxlcklPUy5tbQpAQCAtMzAzLDYgKzMw
Myw3IEBAIHZvaWQgVUlTY3JpcHRDb250cm9sbGVySU9TOjpzaW5nbGVUYXBBdFBvaW50V2l0aE1v
ZGlmaWVycyhXZWJDb3JlOjpGbG9hdFBvaW50IGxvCiAgICAgZm9yIChhdXRvJiBtb2RpZmllckZs
YWcgOiBtb2RpZmllckZsYWdzKQogICAgICAgICBbW0hJREV2ZW50R2VuZXJhdG9yIHNoYXJlZEhJ
REV2ZW50R2VuZXJhdG9yXSBrZXlEb3duOm1vZGlmaWVyRmxhZ107CiAKKyAgICBXVEZMb2dBbHdh
eXMoIjxXSz46IFNlbmRpbmcgc2luZ2xlIHRhcCBhdCAoJS4wZiwgJS4wZikiLCBfX1BSRVRUWV9G
VU5DVElPTl9fLCBsb2NhdGlvbi54KCksIGxvY2F0aW9uLnkoKSk7CiAgICAgW1tISURFdmVudEdl
bmVyYXRvciBzaGFyZWRISURFdmVudEdlbmVyYXRvcl0gdGFwOmdsb2JhbFRvQ29udGVudENvb3Jk
aW5hdGVzKHdlYlZpZXcoKSwgbG9jYXRpb24ueCgpLCBsb2NhdGlvbi55KCkpIGNvbXBsZXRpb25C
bG9jazpbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWZQdHIoKnRoaXMpLCBtb2RpZmllckZs
YWdzID0gV1RGTW92ZShtb2RpZmllckZsYWdzKSwgYmxvY2sgPSBXVEZNb3ZlKGJsb2NrKV0gKCkg
bXV0YWJsZSB7CiAgICAgICAgIGlmICghbV9jb250ZXh0KQogICAgICAgICAgICAgcmV0dXJuOwpA
QCAtMzExLDYgKzMxMiw3IEBAIHZvaWQgVUlTY3JpcHRDb250cm9sbGVySU9TOjpzaW5nbGVUYXBB
dFBvaW50V2l0aE1vZGlmaWVycyhXZWJDb3JlOjpGbG9hdFBvaW50IGxvCiAgICAgICAgICAgICBb
W0hJREV2ZW50R2VuZXJhdG9yIHNoYXJlZEhJREV2ZW50R2VuZXJhdG9yXSBrZXlVcDptb2RpZmll
ckZsYWdzW2ldXTsKICAgICAgICAgfQogICAgICAgICBbW0hJREV2ZW50R2VuZXJhdG9yIHNoYXJl
ZEhJREV2ZW50R2VuZXJhdG9yXSBzZW5kTWFya2VySElERXZlbnRXaXRoQ29tcGxldGlvbkJsb2Nr
OmJsb2NrLmdldCgpXTsKKyAgICAgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiAuLi5kb25lIHNlbmRp
bmcgc2luZ2xlIHRhcC4iKTsKICAgICB9XTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDAtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDAu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMDAt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTAwMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEw
MDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDAwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xMDAwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTAxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTAxLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMi5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTEwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTAzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTEwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDQuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xMDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwNS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xMDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTEwNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwNi1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwNi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDcu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwOC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDguaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTEwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwOS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTEwOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwOS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA5Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xMTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExMC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTAtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xMTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTAuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExMS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTExMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExMS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTExMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTExLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTItZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTEyLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMTIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTExMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTMuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExMy5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEx
NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTExNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEx
NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTE0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTUt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE1Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTExNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xMTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTYuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExNi5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTExNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExNy1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTExNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTE3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xMTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE4
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTguaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExOS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xMTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTExOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMi1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIwLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIwLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjAuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xMjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyMS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xMjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTEyMS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyMi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyMi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIyLmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIzLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xMjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyNC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyNS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyNS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTEyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI1Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMjYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjctZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjcu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyNy5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyOC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTEyOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyOC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTEyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjktZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI5LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMy5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTEzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMwLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTEzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTMwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMxLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMi5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTEzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTEzMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzQuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xMzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzNS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xMzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTEzNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzNi1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzNi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzcu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzOC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzguaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTEzOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzOS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTEzOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzOS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEzOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM5Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0MC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDAtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDAuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQxLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDItZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQyLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNDIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDMuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0My5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0
NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0
NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDUt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ1Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xNDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDYuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xNDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0Ni5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0Ny1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0Ny5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTQ3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xNDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ4
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDguaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0OS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE0OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUwLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUwLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTAuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xNTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xNTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE1MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Mi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Mi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUyLmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUzLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xNTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1NC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1NS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE1NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1NS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU1Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xNTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTctZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTcu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Ny5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1OC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTE1OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1OC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTktZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU5LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNi5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYwLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTYwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYxLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xNjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Mi5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTE2My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2My1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTE2My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2My5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xNjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjQuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xNjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2NS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xNjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE2NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Ni5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjcu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2OC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjguaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2OS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE2OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2OS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY5Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3MC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzAtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzAuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTcxLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzItZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTcyLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNzIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzMuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3My5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3
NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE3NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3
NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTc0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzUt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc1Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzYuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xNzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3Ni5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3Ny1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3Ny5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTc3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xNzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc4
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzguaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE3OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTgwLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xODAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTgwLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODAuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE4MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Mi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Mi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTgyLmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTgzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTgzLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
ODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4NC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4NS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE4NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4NS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg1Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xODYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODctZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODcu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Ny5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4OC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTE4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4OC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODktZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg5LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkwLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTkwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
OTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkxLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xOTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xOTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Mi5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTE5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5My1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTE5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5My5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xOTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTQuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xOTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5NS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xOTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE5NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Ni5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTcu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xOTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5OC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xOTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTguaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5OS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5OS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk5Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMi5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjAwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIw
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAwLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yMDEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yMDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yMDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMy5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAzLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMDQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
MDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwNS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIw
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTIwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIw
Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjA2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDgtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTIwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0yMDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwOC5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIwOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwOS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwOS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjA5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjEuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTAtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTAuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yMTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIx
MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTIxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjExLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxMS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTIxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxMS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjEyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjEyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjEyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTIuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yMTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxMy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yMTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIxMy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE0Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE1Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
MTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yMTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTYtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yMTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTYuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTIxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNy5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE3Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTgtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMTguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTIxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTktZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTku
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxOS5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjAtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIwLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIwLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yMjAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjEtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIyMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yMjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyMS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTIyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIyLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTIyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjIyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
MjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjQuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyNC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTIyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI1LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyNS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTIyNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyNS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjI1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI2LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MjI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI2Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjYuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yMjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyNy1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIyNy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MjI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyOC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyOC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI5Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjku
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjMwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIz
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMwLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yMzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yMzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yMzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMy5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIzMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMzLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjM0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIzNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
MzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzNS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIz
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTIzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIz
Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjM2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzgtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTIzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0yMzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzOC5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzOS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzOS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjM5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDAtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDAuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0
MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTI0MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0MS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTI0MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDIuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yNDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0My1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yNDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI0My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0NC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0NC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ1Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
NDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDYtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDYuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0Ny1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTI0Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0Ny5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI0Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ3Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjQ4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDgtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNDguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTI0OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDktZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDku
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0OS5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTAtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUwLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUwLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTEtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yNTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1MS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTI1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUyLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTI1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjUyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
NTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTQuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1NC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTI1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU1LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1NS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTI1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1NS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU2LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MjU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU2Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTYuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yNTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1Ny1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI1Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MjU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1OC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1OC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjU5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU5Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTku
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjYwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2MC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYwLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yNjEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yNjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2Mi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yNjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2My1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2My5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYzLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjY0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNjQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2NS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTI2Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2
Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjY2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjgtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTI2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0yNjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2OC5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2OS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjY5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNy5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzAtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzAuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3
MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTI3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjcxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3MS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTI3MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjcyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjcyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzIuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yNzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3My1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yNzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI3My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3NC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3NC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc0Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc1Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
NzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNzYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzYtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzYuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3Ny1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjc3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTI3Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3Ny5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc3Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzgtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNzguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTI3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzktZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzku
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3OS5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODAtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgwLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgwLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yODAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODEtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
ODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yODEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4MS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTI4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgyLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTI4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjgyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
ODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODQuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4NC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTI4NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg1LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4NS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTI4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4NS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg2LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yODYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Mjg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg2Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODYuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4Ny1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI4Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Mjg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4OC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4OC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg5Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODku
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjktZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5MC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjkwLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjkx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjkx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yOTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yOTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5Mi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yOTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5My1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI5My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5My5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI5My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjkzLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjk0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yOTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI5NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
OTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5NS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTI5Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5
Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjk2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTgtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTI5OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0yOTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yOTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5OC5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI5OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI5OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5OS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjk5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMC5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAwLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzAwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAxLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAxLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDEuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDIuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMw
Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTMwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwMy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTMwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwMy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDQuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zMDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwNS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zMDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTMwNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwNi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwNi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA2Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA3LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwOC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwOS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMwOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwOS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA5Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMx
MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTAtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTAuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxMS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTMxMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxMS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTMxMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzExLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzEyLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzEyLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMTIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTMxMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTMuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxMy5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTMxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTMxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzE0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE1LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE1Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTYtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zMTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTYuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNi5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTMxNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE3LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTMxNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzE3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE4LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zMTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MzE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE4Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTguaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxOS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMxOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIwLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIwLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjAuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zMjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyMS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zMjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjEuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTMyMS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyMi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMy
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIyLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zMjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyNC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyNS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTMyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI1Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjYtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMjYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjct
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyNy5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMy
OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTMyOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMy
OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjkt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI5Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMy5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMy5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMwLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzMwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMxLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMxLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzEuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzIuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMz
Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTMzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzMy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTMzMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzMy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzQuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zMzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzNS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zMzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTMzNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzNi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzNi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM2Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM3LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzOC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzOS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMzOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzOS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMzOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM5Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0
MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDAtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDAuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0MS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0MS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQxLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQyLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQyLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNDIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDMuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0My5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTM0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTM0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ1LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ1Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDYtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zNDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDYuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zNDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0Ni5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ3LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0Ny1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0Ny5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzQ3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ4LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zNDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MzQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ4Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDguaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM0OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUwLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUwLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTAuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zNTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1MS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zNTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTEuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM1MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Mi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUyLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zNTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1NC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1NS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM1NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1NS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU1Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTYtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zNTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTct
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Ny5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1
OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTM1OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1
OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTkt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU5Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNi5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYwLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzYwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYxLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYxLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjEuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zNjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjIuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2
Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTM2My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2My1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTM2My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2My5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zNjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjQuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zNjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2NS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zNjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM2NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2Ni1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2Ni5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY2Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY3LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2OC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2OS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM2OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2OS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY5Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3
MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzAtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzAuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3MS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3MS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzcxLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzcyLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzcyLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNzIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzMuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3My5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTM3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTM3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzc0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc1LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc1Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzYtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzYuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zNzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3Ni5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc3LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3Ny1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3Ny5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzc3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc4LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zNzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Mzc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc4Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzguaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM3OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzgwLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zODAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzgwLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODAuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4MS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODEuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM4MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Mi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzgyLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzgz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzgz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4NC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4NS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM4NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4NS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg1Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODYtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zODYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODct
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Ny5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4
OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTM4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4
OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODkt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg5Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkwLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzkwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zOTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkxLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkxLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTEuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zOTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTIuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zOTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5
Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTM5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5My1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTM5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5My5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zOTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTQuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zOTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5NS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zOTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM5NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5Ni1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5Ni5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk2Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk3LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zOTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5OC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zOTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5OS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5OS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk5Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDAtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDAtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwMC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDAwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQw
MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwMC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDAwLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00MDEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQw
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwMy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwMy5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDAzLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MDQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDUuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00MDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwNS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA2LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDA2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA3Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDgtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi00MDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDguaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwOC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQwOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA5LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwOS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwOS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDA5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDEtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDEuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTAt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00MTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQxMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDExLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxMS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxMS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDEyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDEyLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDEyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTIuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00MTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxMy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00MTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQxMy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQx
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE0Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00MTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00MTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTYtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTYuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNy5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE3Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTgtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MTguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTkuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxOS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQy
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQy
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjAtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIwLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00MjAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjEtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQyMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00MjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyMS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIyLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDIyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00MjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjMuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjQuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQy
NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyNS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQyNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDI1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI2LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI2Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjYuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00MjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyNy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQyNy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyOC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyOC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI4Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI5Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDMtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzMC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDMwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQz
MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzMC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDMwLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00MzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQz
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzMy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzMy5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQzMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDMzLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDM0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQzNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzUuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00MzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzNS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM2LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDM2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM3Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzgtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi00MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzguaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzOC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM5LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzOS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzOS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDM5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDAt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQ0MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQxLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0MS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQ0MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0MS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQyLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDIuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00NDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0My1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ0My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ0Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00NDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0Ni1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDYtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDYuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0Ny1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQ0Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0Ny5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ0Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ3Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDQ4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDgtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00NDguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQ0OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDkuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0OS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTAtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUwLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTEtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00NTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1MS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQ1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUyLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQ1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDUyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00NTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTMuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00NTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTQuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1
NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQ1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1NS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQ1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1NS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU2LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00NTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU2Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTYuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00NTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1Ny1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ1Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1OC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1OC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU4Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDU5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU5Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDYtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2MC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDYwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2
MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2MC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDYwLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00NjEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2My1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2My5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDYzLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDY0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NjQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjUuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2NS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY2LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDY2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY3Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjgtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi00NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjguaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00NjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2OC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY5LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2OS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2OS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDY5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzAt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQ3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcxLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3MS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQ3MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3MS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcyLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzIuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00NzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3My1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ3My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc0Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00NzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NzYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3Ni1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzYtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzYuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3Ny1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDc3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQ3Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3Ny5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc3Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzgtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00NzguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQ3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00Nzkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzkuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3OS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODAtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgwLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00ODAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODEtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00ODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00ODEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4MS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQ4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgyLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQ4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDgyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00ODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODMuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODQuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00ODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4
NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQ4NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4NS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQ4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4NS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg2LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00ODYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg2Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODYuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00ODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4Ny1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00ODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ4Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4OC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4OC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg4Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg5Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
ODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDktZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5MC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5
MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5MC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDkwLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00OTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5My1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ5My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5My5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ5My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDkzLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDk0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00OTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ5NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTUuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00OTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5NS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk2LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDk2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
OTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk3Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTgtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi00OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTguaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00OTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5OC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ5OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk5LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5OS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ5OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5OS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDk5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MC5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MC5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAwLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTAwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAx
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDEuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTUwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwMy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTUwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwMy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDQuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01MDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwNS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01MDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTUwNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwNi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUw
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA2Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA3
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwOC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwOS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUwOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwOS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA5Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTAtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxMS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTUxMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxMS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTUxMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTEx
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTItZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTEyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTEyLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MTIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTUxMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxMy5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTUxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTUxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTE0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE1LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTUuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTYtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01MTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTYuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUx
Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTUxNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE3LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxNy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTUxNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxNy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTE3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01MTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNTE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTguaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxOS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUxOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01Mi1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTIwLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTIwLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjAuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01MjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyMS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01MjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjEuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTUyMS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyMi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUy
Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyMi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTIyLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUy
NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyNS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyNS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTUyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI1Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjYtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI2LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI2Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MjYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyNy5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI5LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI5Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01My1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01My5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01My5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMwLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTMwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMx
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzEuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUzMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTUzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzMy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTUzMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzMy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzQuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01MzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzNS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTUzNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzNi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUz
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM2Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM3
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzOC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzOS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUzOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzOS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUzOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM5Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDAtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0MS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0MS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQx
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDItZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQyLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NDIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0My5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTU0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTU0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ1LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDUuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDYtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01NDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDYuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01NDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0
Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ3LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0Ny5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTQ3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01NDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNTQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDguaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0OS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU0OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTUuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTUwLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTUwLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTAuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01NTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1MS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01NTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTEuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU1MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1
Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTUyLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1
NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1NS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU1NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1NS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU1Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTYtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU2LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU2Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01NTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1Ny5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU5LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU5Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01Ni1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01Ni5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01Ni5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYwLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTYwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYx
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjEuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01NjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTU2My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2My1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTU2My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2My5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01NjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjQuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01NjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2NS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU2NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2Ni1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY2Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY3
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2OC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2OS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU2OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2OS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY5Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzAtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3MS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3MS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTcx
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzItZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTcyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTcyLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NzIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3My5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTU3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTU3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTc0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc1LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzUuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzYtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzYuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01NzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3
Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc3LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3Ny5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTc3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01NzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNTc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzguaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3OS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU3OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTgwLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01ODAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTgwLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODAuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01ODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4MS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODEuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU4MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4
Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTgyLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01ODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4
NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4NS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU4NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4NS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg1Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODYtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg2LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg2Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01ODYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4Ny5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg5LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg5Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkwLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTkwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01OTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkx
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTEuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01OTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01OTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTU5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5My1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTU5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5My5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01OTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTQuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01OTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5NS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01OTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU5NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5Ni1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk2Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk3
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01OTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5OC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01OTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5OS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5OS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk5Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwMC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjAwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYwMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwMC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAwLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDEtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02MDEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAz
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MDQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDUuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02MDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwNS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA2LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjA2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi02MDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYw
OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYwOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA5LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwOS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwOS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjA5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
MTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
MTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYxMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEx
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEyLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjEyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTIuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02MTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02MTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYxMy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxNC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYx
NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxNC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjE0Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NjE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NjE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02MTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYx
Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTYtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTYuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxNy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTYxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxNy5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjE3Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjE4LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjE4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MTguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTktZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTYxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTkuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxOS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYy
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjAtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIwLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIwLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjEtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYyMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02MjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyMS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTYyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTYyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjIyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02MjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjMuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjQu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTYyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI1LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyNS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTYyNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyNS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI2LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI2Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjYuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02MjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyNy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYyNy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyOC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYy
OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI4Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI5
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI5
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzMC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjMwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYzMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzMC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMwLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzEtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02MzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYzMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMz
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjM0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYzNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzUuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02MzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzNS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM2LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjM2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi02MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYz
OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM5LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzOS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzOS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjM5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQx
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0MS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0MS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQyLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDIuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02NDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0My1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY0My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0NC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0
NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0NC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQ0Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NjQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NjQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02NDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0
Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDYtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDYuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0Ny1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTY0Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0Ny5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY0Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQ3Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjQ4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQ4LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQ4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02NDguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDktZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTY0OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDkuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0OS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTAtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUwLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUwLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTEtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02NTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1MS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTY1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTY1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjUyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02NTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTMuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02NTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTQu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTY1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU1LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1NS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTY1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1NS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU2LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02NTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU2Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTYuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02NTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1Ny1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY1Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1OC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1
OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU4Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU5
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjU5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU5
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2MC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjYwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2MC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYwLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjEtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02NjEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2My1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2My5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYz
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjY0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NjQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjUuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2NS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY2LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjY2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi02NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02NjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2
OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY5LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2OS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2OS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjY5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjctZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcx
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3MS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3MS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcyLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzIuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02NzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3My1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY3My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3NC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3
NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3NC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjc0Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Njc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Njc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02NzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3
Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzYtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzYuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3Ny1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjc3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTY3Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3Ny5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjc3Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjc4LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjc4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02NzguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzktZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTY3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzkuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3OS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODAtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgwLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgwLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODEtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02ODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02ODEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4MS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTY4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTY4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjgyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02ODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODMuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODQu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02ODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTY4NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg1LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4NS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTY4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4NS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg2LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02ODYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg2Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODYuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02ODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4Ny1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02ODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY4Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4OC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4
OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg4Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg5
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg5
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02ODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjktZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjktZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5MC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5MC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjkwLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTEtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02OTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5My1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY5My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5My5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY5My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjkz
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjk0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02OTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY5NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTUuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02OTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5NS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk2LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjk2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02OTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi02OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02OTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5
OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY5OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk5LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5OS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY5OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5OS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjk5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MC5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTcwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MC5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTcwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTcwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzAwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDEuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
MDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
MDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTcwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzA0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzA0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDQuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03MDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwNS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03MDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTcwNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcw
Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTcwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzA2Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcw
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDgtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwOS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTcwOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwOS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTcwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzA5Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTcxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTAtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTAu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxMC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxMS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTcxMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxMS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTcxMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzEyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzEyLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTcxMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTMuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxMy5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTcxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTcxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzE0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE1LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE1
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTUuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTYt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03MTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTYu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTcxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTcxNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE3LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxNy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTcxNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxNy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE4LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03MTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNzE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE4Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTguaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxOS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTkuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTcxOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03Mi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIwLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIwLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjAu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03MjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyMS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjEtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03MjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjEuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTcyMS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyMi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTcyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyMi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTcyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIyLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTcyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyNS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTcyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyNS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTcyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI1
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjYtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI2Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MjYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjctZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTcyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyNy5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTcyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI4LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTcyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjkuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03My1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03My5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTczLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03My5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTczMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTczMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzMwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzEuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
MzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
MzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTczMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzM0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzM0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzQuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03MzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczNS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTczNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcz
Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTczNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzM2Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcz
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzgtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczOS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTczOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczOS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTczOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzM5Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDAtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDAu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0MC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0MS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0MS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQyLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDMuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0My5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTc0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTc0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ1LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ1
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDUuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDYt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03NDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDYu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03NDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ3LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0Ny1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0Ny5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ4LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03NDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNzQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ4Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDguaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0OS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDkuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc0OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUwLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUwLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTAu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03NTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1MS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTEtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03NTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTEuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc1MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1Mi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1Mi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUyLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1NS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc1NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1NS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU1
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTYtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU2Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03NTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTctZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1Ny5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU4LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTkuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03Ni1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03Ni5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03Ni5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2MC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2MC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzYwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjEuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
NjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03NjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2My1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzY0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03NjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzY0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjQuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03NjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2NS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc2NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2Ni1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2
Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2Ni5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzY2Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjgtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2OS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc2OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2OS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzY5Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzAtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzAu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3MC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3MS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3MS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzcyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzcyLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzMuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3My5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTc3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTc3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzc0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc1LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc1
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzUuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzYt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzYu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03NzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc3LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3Ny1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3Ny5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc4LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03NzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNzc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc4Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzguaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3OS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzkuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc3OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzgwLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzgwLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODAu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03ODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4MS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODEtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODEuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc4MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4Mi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4Mi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzgyLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03ODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4NS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc4NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4NS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg1
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODYtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg2Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03ODYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODctZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4Ny5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg4LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODkuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OS5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5MC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5MC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzkwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03OTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTEuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
OTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03OTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5My1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzk0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03OTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzk0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTQuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03OTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5NS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03OTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc5NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5Ni1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5
Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5Ni5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzk2Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Nzk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Nzk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTgtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5OS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5OS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzk5Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwMC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODAwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgwMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwMC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAwLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDEtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04MDEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwMi5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwMy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwMy5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDUuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04MDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwNS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODA2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA3
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDcuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDgt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi04MDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDgu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgwOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA5LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwOS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwOS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODEtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODEuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04MTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04MTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgxMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODEyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODEyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODEyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTIu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04MTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMy1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04MTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgxMy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxNC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxNC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE0Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04MTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgxNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTYuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxNy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTgxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxNy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE3
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTgtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE4LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE4Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MTguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTktZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTgxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTkuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxOS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Mi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjAt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIwLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgyMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04MjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyMS5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTgyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIyLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyMi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTgyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyMi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODIyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04MjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIzLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjMuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
MjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI1
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjYuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04MjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjcuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgyNy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyOC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgy
OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyOC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI4Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzMC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODMwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgzMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzMC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMwLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzEtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04MzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzMi5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzMy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzMy5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgzMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODM0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgzNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzUuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04MzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzNS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODM2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM3
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzcuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Mzgt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi04MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Mzgu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgzOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM5LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzOS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzOS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0MS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0MS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDIu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04NDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0My1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg0My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0NC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0NC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ0Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04NDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDYuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0Ny1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTg0Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0Ny5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg0Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ3
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODQ4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDgtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ4LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ4Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04NDguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDktZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTg0OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDkuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0OS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTAt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUwLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04NTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1MS5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTg1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUyLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTg1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1Mi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODUyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04NTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUzLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTMuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
NTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04NTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU1
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1NS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04NTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTYuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04NTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1Ny1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTcuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg1Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1OC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1
OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1OC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU4Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODU5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODYwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYwLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjEtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04NjEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2Mi5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2My1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2My5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODY0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjUuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2NS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODY2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY3
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjcuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Njgt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi04NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Njgu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04NjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY5LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2OS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2OS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODctZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODcuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3MS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3MS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODcyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODcyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzIu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04NzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3My1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg3My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3NC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg3NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3NC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc0Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04NzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzYuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3Ny1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTg3Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3Ny5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc3
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzgtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc4LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc4Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04NzguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzktZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTg3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzkuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3OS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODAt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgwLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04ODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04ODEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4MS5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTg4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgyLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTg4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4Mi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODgyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04ODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgzLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODMuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
ODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg1
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4NS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04ODYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODYuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04ODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4Ny1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04ODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODcuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg4Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4OC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4
OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4OC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg4Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04ODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODkt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODktZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODkwLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTEtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04OTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5Mi5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5My1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg5My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5My5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg5My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODk0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg5NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTUuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04OTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5NS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODk2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04OTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk3
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTcuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTgt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi04OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTgu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04OTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg5OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk5LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5OS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg5OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5OS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOS5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MC5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTAwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTAwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTAxLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTAxLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDEuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05MDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05MDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDQu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05MDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwNS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05MDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTkwNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwNi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTkwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwNi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTkwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA2Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDctZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTkwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDgtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwOS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkwOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwOS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA5
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTAuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
MTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxMC5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkx
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTkxMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkx
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTIt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTEyLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTEyLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTkxMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTMuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxMy5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTkxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTkxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTE0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE1LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE1
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTUuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
MTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05MTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTkxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE3
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE4LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05MTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tOTE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE4Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTguaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxOS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTkuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkxOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05Mi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyLmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIwLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
MjAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05MjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjEtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05MjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyMS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyMi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTkyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyMi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIyLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTkyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyNC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyNS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyNS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTkyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTI1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI2LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjctZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjcuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyNy5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI4LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI5LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI5
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjkuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05My1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05My5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05My5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTMwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTMwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTMxLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTMxLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzEuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05MzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05MzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkzMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzQu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05MzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzNS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTkzNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzNi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTkzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzNi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTkzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM2Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzctZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTkzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzgtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzOS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkzOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzOS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkzOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM5
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDAuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0MC5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDIt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQyLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQyLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDMuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0My5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTk0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0NC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTk0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0NC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ1LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ1
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDUuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05NDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ3
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0Ny1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0Ny5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ4LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05NDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tOTQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ4Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDguaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0OS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDkuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk0OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NS1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUwLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05NTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1MS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTEtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05NTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1Mi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1Mi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUyLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1NC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1NS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk1NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1NS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU2LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTctZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTcuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1Ny5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU4LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU5LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU5
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTkuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05Ni1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05Ni5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05Ni5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTYwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2MC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2MC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTYwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTYxLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTYxLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjEuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05NjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2Mi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2My1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2My5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjQu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05NjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2NS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk2NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2Ni1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTk2Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2Ni5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY2Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjctZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTk2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjgtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2OS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk2OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2OS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY5
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05Ny5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzAuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3MC5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzIt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTcyLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTcyLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzMuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3My5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTk3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3NC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTk3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3NC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTc0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc1LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc1
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzUuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NzYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc3
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3Ny1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3Ny5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc4LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05NzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tOTc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc4Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzguaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3OS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzkuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk3OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgwLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
ODAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05ODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4MS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODEtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4Mi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4Mi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgyLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05ODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4NC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4NS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk4NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4NS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg2LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODctZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODcuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4Ny5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg4LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg5LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg5
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODkuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OS5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTkwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5MC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5MC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTkwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTkxLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05OTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTkxLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTEuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05OTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5Mi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5My1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5My5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTQu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05OTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5NS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05OTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk5NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5Ni1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTk5Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5Ni5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk2Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTctZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTk5OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTgtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5OS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5OS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk5
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405182</attachid>
            <date>2020-07-24 14:36:54 -0700</date>
            <delta_ts>2020-07-24 14:36:54 -0700</delta_ts>
            <desc>Data collection (9)</desc>
            <filename>bug-214688-20200724143647.patch</filename>
            <type>text/plain</type>
            <size>2992204</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0ODU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGQ3ZDQ0Mzk0NWQ0N2U0Nzk4
ZGQ4NWRmYTA2OTI0MWVhOGQ4MDU3YjUuLjc4NTQxMjFlMWY2ZDc1NzQwNmU2NzI5YjRiMzZlN2Vi
M2JiN2M0ODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMDctMjQgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTiAocjI2
NDY5MCk6IFsgaU9TIHdrMiBdIGVkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGlzIGEgZmxha3kgZmFpbHVyZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0Njg4CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS82NTk5MzY4Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1t
OgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9zaW5nbGVUYXBJZGVudGlmaWVkOl0pOgorICAg
ICAgICAoLVtXS0NvbnRlbnRWaWV3IF9zaW5nbGVUYXBSZWNvZ25pemVkOl0pOgorICAgICAgICAq
IFVJUHJvY2Vzcy9pb3MvV0tTeW50aGV0aWNUYXBHZXN0dXJlUmVjb2duaXplci5tbToKKyAgICAg
ICAgKC1bV0tTeW50aGV0aWNUYXBHZXN0dXJlUmVjb2duaXplciBzZXRTdGF0ZTpdKToKKwogMjAy
MC0wNy0yNCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIENyYXNo
IHVuZGVyIFByZWNvbm5lY3RUYXNrOjpzdGFydCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQppbmRleCBiMDQxYzI5
MjkxZTJhM2MyODY3NjM2OWI1MDBjZmMxYzcyOTY1ZDZlLi4xYTc0ZjljODUyMDJhOWU3Y2FhODNk
MjE1MzcyN2M4MzA0NjIwN2Q4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9p
b3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KQEAgLTI3MjgsNiArMjcyOCw3IEBA
IC0gKHZvaWQpX2VuZFBvdGVudGlhbFRhcEFuZEVuYWJsZURvdWJsZVRhcEdlc3R1cmVzSWZOZWNl
c3NhcnkKIAogLSAodm9pZClfc2luZ2xlVGFwSWRlbnRpZmllZDooVUlUYXBHZXN0dXJlUmVjb2du
aXplciAqKWdlc3R1cmVSZWNvZ25pemVyCiB7CisgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiAlcyIs
IF9fUFJFVFRZX0ZVTkNUSU9OX18pOwogICAgIEFTU0VSVChnZXN0dXJlUmVjb2duaXplciA9PSBf
c2luZ2xlVGFwR2VzdHVyZVJlY29nbml6ZXIpOwogICAgIEFTU0VSVCghX3BvdGVudGlhbFRhcElu
UHJvZ3Jlc3MpOwogICAgIFtzZWxmIF9yZXNldElzRG91YmxlVGFwUGVuZGluZ107CkBAIC0yODAz
LDYgKzI4MDQsNyBAQCAtICh2b2lkKV9kaWRDb21wbGV0ZVN5bnRoZXRpY0NsaWNrCiAKIC0gKHZv
aWQpX3NpbmdsZVRhcFJlY29nbml6ZWQ6KFVJVGFwR2VzdHVyZVJlY29nbml6ZXIgKilnZXN0dXJl
UmVjb2duaXplcgogeworICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogJXMiLCBfX1BSRVRUWV9GVU5D
VElPTl9fKTsKICAgICBBU1NFUlQoZ2VzdHVyZVJlY29nbml6ZXIgPT0gX3NpbmdsZVRhcEdlc3R1
cmVSZWNvZ25pemVyKTsKIAogICAgIGlmICghW3NlbGYgaXNGaXJzdFJlc3BvbmRlcl0pCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tTeW50aGV0aWNUYXBHZXN0dXJl
UmVjb2duaXplci5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1N5bnRoZXRpY1Rh
cEdlc3R1cmVSZWNvZ25pemVyLm1tCmluZGV4IDYwZmJjYWQwYmY1MTc4YTQwOTFhODcyOGUzOWVh
NjkzNTIzOWFjZDguLmYxMGM5ODU3NDcyNWI1YjJhNzdlNTZjZWNiZDFiMDJkMDczYTMwZGQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1N5bnRoZXRpY1RhcEdlc3R1
cmVSZWNvZ25pemVyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1N5bnRo
ZXRpY1RhcEdlc3R1cmVSZWNvZ25pemVyLm1tCkBAIC02OCw2ICs2OCwxMiBAQCAtICh2b2lkKXNl
dFN0YXRlOihVSUdlc3R1cmVSZWNvZ25pemVyU3RhdGUpc3RhdGUKICAgICBlbHNlIGlmIChzdGF0
ZSA9PSBVSUdlc3R1cmVSZWNvZ25pemVyU3RhdGVGYWlsZWQpCiAgICAgICAgIFtfZ2VzdHVyZUZh
aWxlZFRhcmdldCBwZXJmb3JtU2VsZWN0b3I6X2dlc3R1cmVGYWlsZWRBY3Rpb24gd2l0aE9iamVj
dDpzZWxmXTsKICAgICBbc3VwZXIgc2V0U3RhdGU6c3RhdGVdOworICAgIGlmIChzdGF0ZSA9PSBV
SUdlc3R1cmVSZWNvZ25pemVyU3RhdGVFbmRlZCAmJiBzZWxmLnN0YXRlID09IFVJR2VzdHVyZVJl
Y29nbml6ZXJTdGF0ZUZhaWxlZCkgeworICAgICAgICBXVEZMb2dBbHdheXMoIjxXSz46ICoqKiBT
SU5HTEUgVEFQIEZBSUxFRCBUTyBSRUNPR05JWkUhICVAICoqKiIsIHNlbGYpOworICAgICAgICBm
b3IgKE5TU3RyaW5nICpzIGluIFtOU1RocmVhZCBjYWxsU3RhY2tTeW1ib2xzXSkKKyAgICAgICAg
ICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogJUAiLCBzKTsKKyAgICAgICAgV1RGTG9nQWx3YXlzKCI8
V0s+OiAiKTsKKyAgICB9CiB9CiAKIC0gKHZvaWQpcmVzZXQKZGlmZiAtLWdpdCBhL1Rvb2xzL0No
YW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBiN2ZjZmM5NDQxOWY3ZGVhZWQzMWEyNTYz
NWUzZTJjMzBmY2Y4MWM1Li5iNzJmZjM0MDc4NzExYjc5NTA2YTI5N2EyMDdkYmNhNWFmY2FhYjVi
IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTYgQEAKKzIwMjAtMDctMjQgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBs
ZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTiAocjI2NDY5MCk6IFsgaU9TIHdrMiBdIGVkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
IGlzIGEgZmxha3kgZmFpbHVyZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjE0Njg4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82NTk5MzY4Mz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYktpdFRl
c3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxl
cjo6cnVuVGVzdCk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlTY3JpcHRDb250
cm9sbGVySU9TLm1tOgorICAgICAgICAoV1RSOjpVSVNjcmlwdENvbnRyb2xsZXJJT1M6OnNpbmds
ZVRhcEF0UG9pbnRXaXRoTW9kaWZpZXJzKToKKwogMjAyMC0wNy0yNCAgWW91ZW5uIEZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHNvbWUgbG9nZ2luZyB0byBkZWJ1ZyBX
ZWJLaXQuUXVvdGFEZWxlZ2F0ZSB0ZXN0IHRoYXQgdGltZXMgb3V0IG9uIGEgRGVidWcgYm90CmRp
ZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcCBiL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCmluZGV4IDFiMTdiYWE4NWU3
OWNkZTJiYmE0ZjQ4MGRmMzg3NGE2YWFjNzM1MjMuLjdlZWI4NWQwM2IzNThjZDE1MzYwMTk4YTA2
N2U4YThmYzg5ZmE5MmEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENv
bnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIu
Y3BwCkBAIC0xODIzLDYgKzE4MjMsOCBAQCBib29sIFRlc3RDb250cm9sbGVyOjpydW5UZXN0KGNv
bnN0IGNoYXIqIGlucHV0TGluZSkKICAgICBXS1JldGFpblB0cjxXS1VSTFJlZj4gd2tVUkwgPSBh
ZG9wdFdLKGNyZWF0ZVRlc3RVUkwoY29tbWFuZC5wYXRoT3JVUkwuY19zdHIoKSkpOwogICAgIG1f
Y3VycmVudEludm9jYXRpb24gPSBtYWtlVW5pcXVlPFRlc3RJbnZvY2F0aW9uPih3a1VSTC5nZXQo
KSwgb3B0aW9ucyk7CiAKKyAgICBXVEZMb2dBbHdheXMoIjxXSz46IFJ1bm5pbmcgJXMiLCBjb21t
YW5kLnBhdGhPclVSTC5jX3N0cigpKTsKKwogICAgIGlmIChjb21tYW5kLnNob3VsZER1bXBQaXhl
bHMgfHwgbV9zaG91bGREdW1wUGl4ZWxzRm9yQWxsVGVzdHMpCiAgICAgICAgIG1fY3VycmVudElu
dm9jYXRpb24tPnNldElzUGl4ZWxUZXN0KGNvbW1hbmQuZXhwZWN0ZWRQaXhlbEhhc2gpOwogCmRp
ZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9VSVNjcmlwdENvbnRyb2xsZXJJ
T1MubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9VSVNjcmlwdENvbnRyb2xsZXJJT1Mu
bW0KaW5kZXggN2ZhZWU2NDQ1YTcwYmVhMDFjZTQ0MTIzYjc3MTY4ODMwNjAyZDNiNi4uMGRmNTRl
NjQ5MDNlODdhZGY3ZGQxYzNkMzA3ZGQzMzFmODcyYzZjNCAxMDA2NDQKLS0tIGEvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9pb3MvVUlTY3JpcHRDb250cm9sbGVySU9TLm1tCisrKyBiL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvaW9zL1VJU2NyaXB0Q29udHJvbGxlcklPUy5tbQpAQCAtMzAzLDYgKzMw
Myw3IEBAIHZvaWQgVUlTY3JpcHRDb250cm9sbGVySU9TOjpzaW5nbGVUYXBBdFBvaW50V2l0aE1v
ZGlmaWVycyhXZWJDb3JlOjpGbG9hdFBvaW50IGxvCiAgICAgZm9yIChhdXRvJiBtb2RpZmllckZs
YWcgOiBtb2RpZmllckZsYWdzKQogICAgICAgICBbW0hJREV2ZW50R2VuZXJhdG9yIHNoYXJlZEhJ
REV2ZW50R2VuZXJhdG9yXSBrZXlEb3duOm1vZGlmaWVyRmxhZ107CiAKKyAgICBXVEZMb2dBbHdh
eXMoIjxXSz46IFNlbmRpbmcgc2luZ2xlIHRhcCBhdCAoJS4wZiwgJS4wZikiLCBfX1BSRVRUWV9G
VU5DVElPTl9fLCBsb2NhdGlvbi54KCksIGxvY2F0aW9uLnkoKSk7CiAgICAgW1tISURFdmVudEdl
bmVyYXRvciBzaGFyZWRISURFdmVudEdlbmVyYXRvcl0gdGFwOmdsb2JhbFRvQ29udGVudENvb3Jk
aW5hdGVzKHdlYlZpZXcoKSwgbG9jYXRpb24ueCgpLCBsb2NhdGlvbi55KCkpIGNvbXBsZXRpb25C
bG9jazpbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWZQdHIoKnRoaXMpLCBtb2RpZmllckZs
YWdzID0gV1RGTW92ZShtb2RpZmllckZsYWdzKSwgYmxvY2sgPSBXVEZNb3ZlKGJsb2NrKV0gKCkg
bXV0YWJsZSB7CiAgICAgICAgIGlmICghbV9jb250ZXh0KQogICAgICAgICAgICAgcmV0dXJuOwpA
QCAtMzExLDYgKzMxMiw3IEBAIHZvaWQgVUlTY3JpcHRDb250cm9sbGVySU9TOjpzaW5nbGVUYXBB
dFBvaW50V2l0aE1vZGlmaWVycyhXZWJDb3JlOjpGbG9hdFBvaW50IGxvCiAgICAgICAgICAgICBb
W0hJREV2ZW50R2VuZXJhdG9yIHNoYXJlZEhJREV2ZW50R2VuZXJhdG9yXSBrZXlVcDptb2RpZmll
ckZsYWdzW2ldXTsKICAgICAgICAgfQogICAgICAgICBbW0hJREV2ZW50R2VuZXJhdG9yIHNoYXJl
ZEhJREV2ZW50R2VuZXJhdG9yXSBzZW5kTWFya2VySElERXZlbnRXaXRoQ29tcGxldGlvbkJsb2Nr
OmJsb2NrLmdldCgpXTsKKyAgICAgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiAuLi5kb25lIHNlbmRp
bmcgc2luZ2xlIHRhcC4iKTsKICAgICB9XTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDAtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDAu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMDAt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTAwMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEw
MDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDAwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xMDAwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTAxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTAxLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMi5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTEwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTAzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTEwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDQuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xMDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwNS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xMDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTEwNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwNi1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwNi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDcu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwOC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDguaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTEwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwOS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTEwOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwOS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA5Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xMTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExMC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTAtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xMTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTAuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExMS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTExMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExMS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTExMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTExLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTItZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTEyLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMTIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTExMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTMuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExMy5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEx
NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTExNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEx
NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTE0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTUt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE1Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTExNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xMTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTYuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExNi5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTExNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExNy1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTExNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTE3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xMTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE4
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTguaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExOS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xMTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTExOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMi1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIwLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIwLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjAuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xMjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyMS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xMjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTEyMS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyMi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyMi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIyLmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIzLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xMjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyNC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyNS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyNS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTEyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI1Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMjYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjctZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjcu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyNy5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyOC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTEyOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyOC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTEyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjktZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI5LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMy5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTEzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMwLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTEzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTMwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMxLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMi5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTEzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTEzMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzQuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xMzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzNS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xMzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTEzNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzNi1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzNi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzcu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzOC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzguaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTEzOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzOS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTEzOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzOS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEzOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM5Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0MC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDAtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDAuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQxLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDItZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQyLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNDIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDMuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0My5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0
NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0
NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDUt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ1Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xNDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDYuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xNDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0Ni5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0Ny1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0Ny5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTQ3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xNDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ4
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDguaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0OS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE0OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUwLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUwLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTAuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xNTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xNTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE1MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Mi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Mi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUyLmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUzLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xNTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1NC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1NS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE1NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1NS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU1Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xNTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTctZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTcu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Ny5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1OC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTE1OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1OC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTktZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU5LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNi5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYwLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTYwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYxLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xNjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Mi5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTE2My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2My1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTE2My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2My5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xNjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjQuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xNjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2NS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xNjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE2NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Ni5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjcu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2OC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjguaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2OS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE2OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2OS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY5Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3MC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzAtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzAuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTcxLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzItZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTcyLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNzIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzMuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3My5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3
NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE3NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3
NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTc0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzUt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc1Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzYuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xNzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3Ni5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3Ny1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3Ny5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTc3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xNzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc4
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzguaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE3OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTgwLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xODAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTgwLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODAuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE4MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Mi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Mi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTgyLmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTgzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTgzLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
ODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4NC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4NS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE4NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4NS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg1Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xODYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODctZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODcu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Ny5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4OC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTE4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4OC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODktZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg5LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkwLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTkwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
OTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkxLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xOTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xOTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Mi5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTE5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5My1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTE5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5My5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xOTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTQuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xOTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5NS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xOTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE5NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Ni5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTcu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xOTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5OC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xOTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTguaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5OS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5OS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk5Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMi5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjAwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIw
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAwLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yMDEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yMDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yMDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMy5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAzLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMDQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
MDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwNS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIw
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTIwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIw
Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjA2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDgtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTIwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0yMDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwOC5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIwOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwOS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwOS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjA5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjEuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTAtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTAuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yMTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIx
MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTIxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjExLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxMS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTIxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxMS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjEyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjEyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjEyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTIuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yMTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxMy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yMTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIxMy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE0Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE1Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
MTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yMTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTYtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yMTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTYuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTIxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNy5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE3Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTgtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMTguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTIxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTktZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTku
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxOS5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjAtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIwLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIwLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yMjAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjEtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIyMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yMjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyMS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTIyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIyLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTIyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjIyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
MjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjQuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyNC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTIyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI1LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyNS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTIyNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyNS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjI1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI2LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MjI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI2Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjYuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yMjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyNy1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIyNy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MjI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyOC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyOC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI5Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjku
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjMwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIz
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMwLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yMzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yMzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yMzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMy5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIzMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMzLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjM0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIzNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
MzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzNS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIz
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTIzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIz
Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjM2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzgtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTIzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0yMzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzOC5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzOS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzOS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjM5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDAtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDAuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0
MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTI0MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0MS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTI0MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDIuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yNDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0My1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yNDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI0My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0NC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0NC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ1Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
NDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDYtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDYuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0Ny1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTI0Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0Ny5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI0Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ3Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjQ4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDgtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNDguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTI0OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDktZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDku
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0OS5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTAtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUwLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUwLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTEtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yNTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1MS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTI1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUyLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTI1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjUyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
NTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTQuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1NC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTI1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU1LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1NS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTI1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1NS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU2LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MjU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU2Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTYuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yNTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1Ny1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI1Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MjU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1OC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1OC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjU5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU5Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTku
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjYwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2MC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYwLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yNjEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yNjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2Mi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yNjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2My1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2My5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYzLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjY0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNjQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2NS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTI2Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2
Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjY2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjgtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTI2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0yNjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2OC5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2OS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjY5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNy5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzAtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzAuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3
MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTI3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjcxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3MS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTI3MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjcyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjcyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzIuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yNzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3My1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yNzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI3My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3NC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3NC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc0Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc1Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
NzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNzYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzYtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzYuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3Ny1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjc3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTI3Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3Ny5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc3Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzgtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNzguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTI3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzktZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzku
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3OS5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODAtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgwLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgwLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yODAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODEtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
ODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yODEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4MS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTI4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgyLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTI4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjgyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
ODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODQuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4NC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTI4NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg1LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4NS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTI4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4NS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg2LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yODYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Mjg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg2Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODYuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4Ny1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI4Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Mjg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4OC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4OC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg5Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODku
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjktZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5MC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjkwLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjkx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjkx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yOTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yOTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5Mi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yOTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5My1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI5My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5My5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI5My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjkzLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjk0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yOTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI5NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
OTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5NS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTI5Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5
Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjk2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTgtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTI5OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0yOTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yOTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5OC5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI5OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI5OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5OS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjk5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMC5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAwLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzAwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAxLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAxLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDEuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDIuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMw
Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTMwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwMy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTMwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwMy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDQuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zMDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwNS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zMDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTMwNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwNi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwNi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA2Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA3LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwOC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwOS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMwOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwOS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA5Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMx
MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTAtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTAuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxMS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTMxMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxMS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTMxMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzExLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzEyLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzEyLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMTIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTMxMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTMuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxMy5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTMxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTMxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzE0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE1LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE1Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTYtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zMTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTYuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNi5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTMxNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE3LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTMxNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzE3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE4LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zMTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MzE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE4Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTguaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxOS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMxOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIwLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIwLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjAuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zMjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyMS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zMjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjEuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTMyMS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyMi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMy
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIyLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zMjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyNC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyNS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTMyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI1Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjYtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMjYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjct
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyNy5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMy
OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTMyOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMy
OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjkt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI5Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMy5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMy5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMwLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzMwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMxLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMxLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzEuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzIuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMz
Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTMzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzMy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTMzMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzMy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzQuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zMzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzNS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zMzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTMzNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzNi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzNi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM2Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM3LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzOC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzOS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMzOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzOS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMzOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM5Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0
MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDAtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDAuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0MS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0MS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQxLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQyLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQyLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNDIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDMuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0My5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTM0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTM0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ1LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ1Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDYtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zNDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDYuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zNDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0Ni5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ3LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0Ny1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0Ny5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzQ3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ4LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zNDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MzQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ4Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDguaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM0OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUwLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUwLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTAuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zNTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1MS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zNTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTEuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM1MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Mi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUyLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zNTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1NC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1NS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM1NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1NS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU1Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTYtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zNTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTct
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Ny5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1
OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTM1OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1
OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTkt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU5Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNi5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYwLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzYwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYxLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYxLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjEuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zNjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjIuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2
Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTM2My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2My1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTM2My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2My5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zNjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjQuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zNjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2NS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zNjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM2NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2Ni1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2Ni5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY2Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY3LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2OC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2OS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM2OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2OS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY5Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3
MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzAtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzAuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3MS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3MS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzcxLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzcyLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzcyLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNzIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzMuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3My5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTM3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTM3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzc0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc1LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc1Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzYtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzYuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zNzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3Ni5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc3LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3Ny1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3Ny5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzc3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc4LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zNzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Mzc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc4Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzguaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM3OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzgwLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zODAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzgwLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODAuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4MS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODEuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM4MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Mi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzgyLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzgz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzgz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4NC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4NS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM4NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4NS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg1Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODYtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zODYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODct
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Ny5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4
OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTM4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4
OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODkt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg5Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkwLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzkwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zOTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkxLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkxLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTEuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zOTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTIuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zOTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5
Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTM5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5My1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTM5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5My5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zOTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTQuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zOTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5NS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zOTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM5NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5Ni1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5Ni5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk2Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk3LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zOTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5OC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zOTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5OS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5OS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk5Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDAtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDAtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwMC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDAwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQw
MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwMC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDAwLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00MDEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQw
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwMy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwMy5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDAzLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MDQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDUuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00MDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwNS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA2LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDA2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA3Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDgtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi00MDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDguaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwOC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQwOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA5LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwOS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwOS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDA5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDEtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDEuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTAt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00MTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQxMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDExLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxMS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxMS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDEyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDEyLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDEyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTIuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00MTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxMy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00MTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQxMy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQx
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE0Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00MTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00MTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTYtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTYuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNy5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE3Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTgtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MTguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTkuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxOS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQy
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQy
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjAtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIwLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00MjAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjEtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQyMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00MjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyMS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIyLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDIyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00MjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjMuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjQuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQy
NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyNS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQyNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDI1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI2LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI2Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjYuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00MjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyNy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQyNy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyOC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyOC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI4Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI5Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDMtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzMC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDMwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQz
MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzMC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDMwLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00MzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQz
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzMy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzMy5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQzMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDMzLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDM0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQzNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzUuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00MzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzNS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM2LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDM2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM3Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzgtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi00MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzguaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzOC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM5LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzOS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzOS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDM5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDAt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQ0MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQxLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0MS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQ0MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0MS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQyLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDIuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00NDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0My1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ0My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ0Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00NDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0Ni1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDYtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDYuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0Ny1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQ0Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0Ny5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ0Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ3Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDQ4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDgtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00NDguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQ0OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDkuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0OS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTAtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUwLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTEtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00NTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1MS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQ1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUyLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQ1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDUyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00NTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTMuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00NTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTQuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1
NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQ1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1NS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQ1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1NS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU2LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00NTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU2Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTYuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00NTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1Ny1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ1Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1OC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1OC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU4Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDU5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU5Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDYtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2MC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDYwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2
MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2MC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDYwLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00NjEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2My1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2My5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDYzLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDY0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NjQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjUuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2NS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY2LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDY2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY3Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjgtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi00NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjguaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00NjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2OC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY5LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2OS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2OS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDY5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzAt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQ3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcxLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3MS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQ3MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3MS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcyLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzIuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00NzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3My1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ3My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc0Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00NzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NzYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3Ni1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzYtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzYuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3Ny1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDc3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQ3Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3Ny5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc3Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzgtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00NzguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQ3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00Nzkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzkuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3OS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODAtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgwLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00ODAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODEtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00ODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00ODEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4MS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQ4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgyLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQ4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDgyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00ODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODMuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODQuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00ODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4
NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQ4NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4NS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQ4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4NS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg2LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00ODYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg2Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODYuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00ODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4Ny1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00ODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ4Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4OC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4OC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg4Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg5Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
ODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDktZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5MC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5
MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5MC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDkwLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00OTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5My1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ5My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5My5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ5My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDkzLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDk0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00OTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ5NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTUuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00OTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5NS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk2LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDk2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
OTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk3Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTgtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi00OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTguaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00OTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5OC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ5OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk5LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5OS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ5OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5OS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDk5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MC5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MC5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAwLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTAwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAx
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDEuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTUwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwMy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTUwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwMy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDQuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01MDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwNS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01MDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTUwNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwNi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUw
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA2Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA3
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwOC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwOS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUwOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwOS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA5Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTAtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxMS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTUxMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxMS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTUxMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTEx
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTItZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTEyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTEyLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MTIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTUxMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxMy5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTUxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTUxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTE0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE1LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTUuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTYtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01MTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTYuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUx
Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTUxNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE3LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxNy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTUxNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxNy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTE3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01MTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNTE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTguaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxOS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUxOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01Mi1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTIwLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTIwLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjAuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01MjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyMS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01MjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjEuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTUyMS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyMi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUy
Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyMi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTIyLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUy
NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyNS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyNS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTUyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI1Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjYtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI2LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI2Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MjYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyNy5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI5LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI5Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01My1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01My5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01My5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMwLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTMwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMx
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzEuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUzMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTUzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzMy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTUzMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzMy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzQuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01MzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzNS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTUzNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzNi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUz
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM2Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM3
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzOC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzOS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUzOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzOS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUzOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM5Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDAtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0MS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0MS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQx
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDItZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQyLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NDIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0My5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTU0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTU0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ1LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDUuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDYtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01NDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDYuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01NDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0
Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ3LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0Ny5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTQ3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01NDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNTQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDguaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0OS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU0OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTUuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTUwLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTUwLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTAuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01NTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1MS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01NTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTEuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU1MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1
Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTUyLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1
NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1NS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU1NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1NS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU1Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTYtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU2LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU2Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01NTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1Ny5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU5LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU5Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01Ni1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01Ni5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01Ni5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYwLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTYwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYx
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjEuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01NjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTU2My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2My1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTU2My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2My5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01NjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjQuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01NjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2NS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU2NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2Ni1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY2Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY3
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2OC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2OS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU2OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2OS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY5Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzAtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3MS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3MS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTcx
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzItZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTcyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTcyLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NzIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3My5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTU3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTU3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTc0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc1LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzUuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzYtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzYuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01NzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3
Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc3LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3Ny5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTc3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01NzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNTc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzguaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3OS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU3OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTgwLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01ODAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTgwLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODAuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01ODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4MS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODEuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU4MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4
Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTgyLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01ODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4
NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4NS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU4NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4NS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg1Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODYtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg2LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg2Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01ODYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4Ny5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg5LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg5Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkwLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTkwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01OTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkx
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTEuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01OTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01OTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTU5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5My1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTU5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5My5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01OTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTQuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01OTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5NS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01OTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU5NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5Ni1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk2Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk3
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01OTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5OC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01OTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5OS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5OS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk5Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwMC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjAwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYwMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwMC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAwLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDEtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02MDEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAz
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MDQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDUuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02MDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwNS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA2LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjA2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi02MDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYw
OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYwOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA5LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwOS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwOS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjA5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
MTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
MTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYxMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEx
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEyLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjEyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTIuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02MTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02MTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYxMy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxNC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYx
NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxNC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjE0Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NjE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NjE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02MTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYx
Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTYtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTYuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxNy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTYxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxNy5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjE3Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjE4LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjE4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MTguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTktZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTYxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTkuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxOS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYy
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjAtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIwLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIwLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjEtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYyMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02MjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyMS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTYyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTYyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjIyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02MjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjMuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjQu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTYyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI1LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyNS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTYyNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyNS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI2LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI2Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjYuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02MjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyNy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYyNy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyOC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYy
OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI4Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI5
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI5
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzMC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjMwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYzMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzMC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMwLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzEtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02MzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYzMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMz
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjM0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYzNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzUuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02MzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzNS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM2LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjM2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi02MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYz
OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM5LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzOS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzOS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjM5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQx
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0MS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0MS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQyLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDIuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02NDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0My1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY0My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0NC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0
NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0NC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQ0Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NjQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NjQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02NDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0
Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDYtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDYuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0Ny1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTY0Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0Ny5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY0Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQ3Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjQ4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQ4LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQ4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02NDguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDktZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTY0OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDkuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0OS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTAtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUwLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUwLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTEtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02NTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1MS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTY1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTY1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjUyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02NTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTMuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02NTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTQu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTY1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU1LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1NS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTY1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1NS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU2LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02NTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU2Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTYuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02NTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1Ny1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY1Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1OC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1
OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU4Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU5
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjU5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU5
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2MC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjYwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2MC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYwLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjEtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02NjEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2My1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2My5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYz
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjY0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NjQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjUuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2NS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY2LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjY2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi02NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02NjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2
OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY5LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2OS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2OS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjY5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjctZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcx
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3MS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3MS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcyLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzIuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02NzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3My1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY3My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3NC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3
NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3NC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjc0Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Njc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Njc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02NzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3
Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzYtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzYuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3Ny1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjc3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTY3Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3Ny5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjc3Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjc4LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjc4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02NzguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzktZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTY3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzkuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3OS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODAtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgwLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgwLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODEtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02ODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02ODEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4MS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTY4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTY4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjgyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02ODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODMuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODQu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02ODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTY4NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg1LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4NS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTY4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4NS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg2LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02ODYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg2Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODYuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02ODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4Ny1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02ODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY4Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4OC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4
OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg4Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg5
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg5
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02ODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjktZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjktZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5MC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5MC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjkwLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTEtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02OTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5My1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY5My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5My5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY5My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjkz
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjk0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02OTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY5NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTUuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02OTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5NS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk2LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjk2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02OTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi02OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02OTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5
OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY5OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk5LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5OS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY5OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5OS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjk5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MC5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTcwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MC5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTcwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTcwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzAwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDEuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
MDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
MDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTcwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzA0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzA0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDQuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03MDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwNS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03MDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTcwNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcw
Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTcwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzA2Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcw
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDgtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwOS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTcwOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwOS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTcwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzA5Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTcxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTAtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTAu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxMC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxMS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTcxMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxMS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTcxMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzEyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzEyLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTcxMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTMuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxMy5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTcxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTcxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzE0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE1LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE1
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTUuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTYt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03MTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTYu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTcxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTcxNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE3LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxNy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTcxNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxNy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE4LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03MTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNzE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE4Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTguaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxOS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTkuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTcxOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03Mi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIwLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIwLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjAu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03MjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyMS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjEtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03MjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjEuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTcyMS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyMi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTcyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyMi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTcyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIyLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTcyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyNS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTcyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyNS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTcyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI1
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjYtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI2Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MjYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjctZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTcyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyNy5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTcyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI4LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTcyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjkuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03My1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03My5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTczLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03My5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTczMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTczMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzMwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzEuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
MzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
MzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTczMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzM0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzM0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzQuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03MzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczNS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTczNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcz
Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTczNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzM2Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcz
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzgtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczOS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTczOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczOS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTczOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzM5Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDAtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDAu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0MC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0MS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0MS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQyLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDMuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0My5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTc0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTc0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ1LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ1
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDUuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDYt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03NDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDYu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03NDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ3LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0Ny1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0Ny5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ4LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03NDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNzQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ4Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDguaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0OS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDkuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc0OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUwLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUwLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTAu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03NTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1MS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTEtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03NTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTEuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc1MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1Mi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1Mi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUyLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1NS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc1NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1NS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU1
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTYtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU2Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03NTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTctZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1Ny5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU4LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTkuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03Ni1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03Ni5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03Ni5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2MC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2MC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzYwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjEuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
NjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03NjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2My1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzY0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03NjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzY0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjQuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03NjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2NS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc2NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2Ni1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2
Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2Ni5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzY2Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjgtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2OS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc2OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2OS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzY5Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzAtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzAu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3MC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3MS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3MS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzcyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzcyLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzMuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3My5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTc3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTc3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzc0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc1LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc1
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzUuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzYt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzYu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03NzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc3LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3Ny1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3Ny5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc4LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03NzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNzc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc4Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzguaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3OS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzkuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc3OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzgwLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzgwLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODAu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03ODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4MS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODEtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODEuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc4MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4Mi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4Mi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzgyLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03ODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4NS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc4NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4NS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg1
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODYtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg2Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03ODYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODctZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4Ny5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg4LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODkuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OS5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5MC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5MC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzkwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03OTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTEuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
OTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03OTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5My1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzk0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03OTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzk0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTQuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03OTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5NS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03OTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc5NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5Ni1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5
Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5Ni5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzk2Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Nzk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Nzk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTgtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5OS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5OS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzk5Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwMC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODAwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgwMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwMC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAwLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDEtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04MDEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwMi5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwMy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwMy5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDUuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04MDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwNS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODA2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA3
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDcuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDgt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi04MDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDgu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgwOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA5LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwOS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwOS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODEtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODEuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04MTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04MTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgxMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODEyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODEyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODEyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTIu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04MTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMy1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04MTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgxMy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxNC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxNC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE0Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04MTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgxNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTYuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxNy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTgxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxNy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE3
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTgtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE4LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE4Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MTguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTktZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTgxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTkuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxOS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Mi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjAt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIwLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgyMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04MjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyMS5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTgyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIyLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyMi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTgyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyMi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODIyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04MjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIzLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjMuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
MjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI1
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjYuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04MjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjcuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgyNy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyOC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgy
OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyOC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI4Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzMC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODMwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgzMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzMC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMwLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzEtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04MzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzMi5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzMy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzMy5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgzMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODM0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgzNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzUuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04MzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzNS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODM2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM3
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzcuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Mzgt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi04MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Mzgu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgzOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM5LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzOS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzOS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0MS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0MS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDIu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04NDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0My1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg0My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0NC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0NC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ0Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04NDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDYuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0Ny1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTg0Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0Ny5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg0Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ3
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODQ4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDgtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ4LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ4Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04NDguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDktZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTg0OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDkuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0OS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTAt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUwLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04NTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1MS5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTg1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUyLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTg1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1Mi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODUyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04NTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUzLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTMuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
NTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04NTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU1
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1NS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04NTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTYuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04NTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1Ny1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTcuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg1Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1OC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1
OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1OC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU4Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODU5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODYwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYwLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjEtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04NjEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2Mi5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2My1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2My5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODY0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjUuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2NS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODY2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY3
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjcuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Njgt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi04NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Njgu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04NjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY5LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2OS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2OS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODctZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODcuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3MS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3MS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODcyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODcyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzIu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04NzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3My1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg3My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3NC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg3NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3NC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc0Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04NzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzYuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3Ny1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTg3Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3Ny5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc3
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzgtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc4LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc4Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04NzguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzktZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTg3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzkuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3OS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODAt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgwLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04ODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04ODEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4MS5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTg4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgyLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTg4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4Mi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODgyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04ODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgzLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODMuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
ODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg1
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4NS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04ODYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODYuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04ODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4Ny1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04ODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODcuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg4Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4OC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4
OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4OC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg4Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04ODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODkt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODktZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODkwLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTEtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04OTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5Mi5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5My1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg5My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5My5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg5My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODk0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg5NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTUuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04OTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5NS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODk2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04OTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk3
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTcuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTgt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi04OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTgu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04OTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg5OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk5LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5OS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg5OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5OS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOS5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MC5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTAwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTAwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTAxLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTAxLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDEuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05MDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05MDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDQu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05MDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwNS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05MDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTkwNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwNi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTkwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwNi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTkwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA2Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDctZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTkwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDgtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwOS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkwOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwOS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA5
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTAuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
MTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxMC5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkx
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTkxMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkx
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTIt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTEyLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTEyLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTkxMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTMuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxMy5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTkxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTkxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTE0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE1LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE1
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTUuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
MTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05MTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTkxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE3
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE4LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05MTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tOTE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE4Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTguaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxOS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTkuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkxOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05Mi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyLmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIwLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
MjAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05MjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjEtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05MjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyMS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyMi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTkyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyMi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIyLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTkyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyNC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyNS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyNS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTkyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTI1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI2LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjctZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjcuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyNy5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI4LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI5LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI5
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjkuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05My1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05My5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05My5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTMwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTMwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTMxLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTMxLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzEuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05MzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05MzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkzMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzQu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05MzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzNS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTkzNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzNi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTkzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzNi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTkzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM2Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzctZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTkzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzgtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzOS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkzOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzOS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkzOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM5
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDAuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0MC5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDIt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQyLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQyLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDMuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0My5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTk0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0NC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTk0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0NC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ1LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ1
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDUuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05NDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ3
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0Ny1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0Ny5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ4LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05NDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tOTQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ4Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDguaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0OS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDkuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk0OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NS1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUwLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05NTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1MS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTEtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05NTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1Mi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1Mi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUyLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1NC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1NS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk1NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1NS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU2LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTctZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTcuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1Ny5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU4LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU5LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU5
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTkuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05Ni1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05Ni5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05Ni5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTYwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2MC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2MC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTYwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTYxLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTYxLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjEuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05NjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2Mi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2My1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2My5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjQu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05NjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2NS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk2NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2Ni1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTk2Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2Ni5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY2Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjctZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTk2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjgtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2OS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk2OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2OS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY5
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05Ny5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzAuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3MC5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzIt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTcyLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTcyLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzMuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3My5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTk3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3NC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTk3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3NC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTc0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc1LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc1
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzUuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NzYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc3
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3Ny1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3Ny5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc4LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05NzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tOTc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc4Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzguaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3OS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzkuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk3OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgwLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
ODAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05ODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4MS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODEtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4Mi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4Mi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgyLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05ODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4NC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4NS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk4NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4NS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg2LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODctZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODcuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4Ny5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg4LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg5LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg5
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODkuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OS5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTkwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5MC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5MC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTkwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTkxLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05OTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTkxLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTEuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05OTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5Mi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5My1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5My5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTQu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05OTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5NS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05OTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk5NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5Ni1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTk5Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5Ni5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk2Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTctZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTk5OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTgtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5OS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5OS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk5
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405183</attachid>
            <date>2020-07-24 14:37:03 -0700</date>
            <delta_ts>2020-07-24 14:37:03 -0700</delta_ts>
            <desc>Data collection (10)</desc>
            <filename>bug-214688-20200724143656.patch</filename>
            <type>text/plain</type>
            <size>2992204</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0ODU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGQ3ZDQ0Mzk0NWQ0N2U0Nzk4
ZGQ4NWRmYTA2OTI0MWVhOGQ4MDU3YjUuLjc4NTQxMjFlMWY2ZDc1NzQwNmU2NzI5YjRiMzZlN2Vi
M2JiN2M0ODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMDctMjQgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTiAocjI2
NDY5MCk6IFsgaU9TIHdrMiBdIGVkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGlzIGEgZmxha3kgZmFpbHVyZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0Njg4CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS82NTk5MzY4Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1t
OgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9zaW5nbGVUYXBJZGVudGlmaWVkOl0pOgorICAg
ICAgICAoLVtXS0NvbnRlbnRWaWV3IF9zaW5nbGVUYXBSZWNvZ25pemVkOl0pOgorICAgICAgICAq
IFVJUHJvY2Vzcy9pb3MvV0tTeW50aGV0aWNUYXBHZXN0dXJlUmVjb2duaXplci5tbToKKyAgICAg
ICAgKC1bV0tTeW50aGV0aWNUYXBHZXN0dXJlUmVjb2duaXplciBzZXRTdGF0ZTpdKToKKwogMjAy
MC0wNy0yNCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIENyYXNo
IHVuZGVyIFByZWNvbm5lY3RUYXNrOjpzdGFydCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQppbmRleCBiMDQxYzI5
MjkxZTJhM2MyODY3NjM2OWI1MDBjZmMxYzcyOTY1ZDZlLi4xYTc0ZjljODUyMDJhOWU3Y2FhODNk
MjE1MzcyN2M4MzA0NjIwN2Q4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9p
b3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KQEAgLTI3MjgsNiArMjcyOCw3IEBA
IC0gKHZvaWQpX2VuZFBvdGVudGlhbFRhcEFuZEVuYWJsZURvdWJsZVRhcEdlc3R1cmVzSWZOZWNl
c3NhcnkKIAogLSAodm9pZClfc2luZ2xlVGFwSWRlbnRpZmllZDooVUlUYXBHZXN0dXJlUmVjb2du
aXplciAqKWdlc3R1cmVSZWNvZ25pemVyCiB7CisgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiAlcyIs
IF9fUFJFVFRZX0ZVTkNUSU9OX18pOwogICAgIEFTU0VSVChnZXN0dXJlUmVjb2duaXplciA9PSBf
c2luZ2xlVGFwR2VzdHVyZVJlY29nbml6ZXIpOwogICAgIEFTU0VSVCghX3BvdGVudGlhbFRhcElu
UHJvZ3Jlc3MpOwogICAgIFtzZWxmIF9yZXNldElzRG91YmxlVGFwUGVuZGluZ107CkBAIC0yODAz
LDYgKzI4MDQsNyBAQCAtICh2b2lkKV9kaWRDb21wbGV0ZVN5bnRoZXRpY0NsaWNrCiAKIC0gKHZv
aWQpX3NpbmdsZVRhcFJlY29nbml6ZWQ6KFVJVGFwR2VzdHVyZVJlY29nbml6ZXIgKilnZXN0dXJl
UmVjb2duaXplcgogeworICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogJXMiLCBfX1BSRVRUWV9GVU5D
VElPTl9fKTsKICAgICBBU1NFUlQoZ2VzdHVyZVJlY29nbml6ZXIgPT0gX3NpbmdsZVRhcEdlc3R1
cmVSZWNvZ25pemVyKTsKIAogICAgIGlmICghW3NlbGYgaXNGaXJzdFJlc3BvbmRlcl0pCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tTeW50aGV0aWNUYXBHZXN0dXJl
UmVjb2duaXplci5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1N5bnRoZXRpY1Rh
cEdlc3R1cmVSZWNvZ25pemVyLm1tCmluZGV4IDYwZmJjYWQwYmY1MTc4YTQwOTFhODcyOGUzOWVh
NjkzNTIzOWFjZDguLmYxMGM5ODU3NDcyNWI1YjJhNzdlNTZjZWNiZDFiMDJkMDczYTMwZGQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1N5bnRoZXRpY1RhcEdlc3R1
cmVSZWNvZ25pemVyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1N5bnRo
ZXRpY1RhcEdlc3R1cmVSZWNvZ25pemVyLm1tCkBAIC02OCw2ICs2OCwxMiBAQCAtICh2b2lkKXNl
dFN0YXRlOihVSUdlc3R1cmVSZWNvZ25pemVyU3RhdGUpc3RhdGUKICAgICBlbHNlIGlmIChzdGF0
ZSA9PSBVSUdlc3R1cmVSZWNvZ25pemVyU3RhdGVGYWlsZWQpCiAgICAgICAgIFtfZ2VzdHVyZUZh
aWxlZFRhcmdldCBwZXJmb3JtU2VsZWN0b3I6X2dlc3R1cmVGYWlsZWRBY3Rpb24gd2l0aE9iamVj
dDpzZWxmXTsKICAgICBbc3VwZXIgc2V0U3RhdGU6c3RhdGVdOworICAgIGlmIChzdGF0ZSA9PSBV
SUdlc3R1cmVSZWNvZ25pemVyU3RhdGVFbmRlZCAmJiBzZWxmLnN0YXRlID09IFVJR2VzdHVyZVJl
Y29nbml6ZXJTdGF0ZUZhaWxlZCkgeworICAgICAgICBXVEZMb2dBbHdheXMoIjxXSz46ICoqKiBT
SU5HTEUgVEFQIEZBSUxFRCBUTyBSRUNPR05JWkUhICVAICoqKiIsIHNlbGYpOworICAgICAgICBm
b3IgKE5TU3RyaW5nICpzIGluIFtOU1RocmVhZCBjYWxsU3RhY2tTeW1ib2xzXSkKKyAgICAgICAg
ICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogJUAiLCBzKTsKKyAgICAgICAgV1RGTG9nQWx3YXlzKCI8
V0s+OiAiKTsKKyAgICB9CiB9CiAKIC0gKHZvaWQpcmVzZXQKZGlmZiAtLWdpdCBhL1Rvb2xzL0No
YW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBiN2ZjZmM5NDQxOWY3ZGVhZWQzMWEyNTYz
NWUzZTJjMzBmY2Y4MWM1Li5iNzJmZjM0MDc4NzExYjc5NTA2YTI5N2EyMDdkYmNhNWFmY2FhYjVi
IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTYgQEAKKzIwMjAtMDctMjQgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBs
ZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTiAocjI2NDY5MCk6IFsgaU9TIHdrMiBdIGVkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
IGlzIGEgZmxha3kgZmFpbHVyZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjE0Njg4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82NTk5MzY4Mz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYktpdFRl
c3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxl
cjo6cnVuVGVzdCk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlTY3JpcHRDb250
cm9sbGVySU9TLm1tOgorICAgICAgICAoV1RSOjpVSVNjcmlwdENvbnRyb2xsZXJJT1M6OnNpbmds
ZVRhcEF0UG9pbnRXaXRoTW9kaWZpZXJzKToKKwogMjAyMC0wNy0yNCAgWW91ZW5uIEZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHNvbWUgbG9nZ2luZyB0byBkZWJ1ZyBX
ZWJLaXQuUXVvdGFEZWxlZ2F0ZSB0ZXN0IHRoYXQgdGltZXMgb3V0IG9uIGEgRGVidWcgYm90CmRp
ZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcCBiL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCmluZGV4IDFiMTdiYWE4NWU3
OWNkZTJiYmE0ZjQ4MGRmMzg3NGE2YWFjNzM1MjMuLjdlZWI4NWQwM2IzNThjZDE1MzYwMTk4YTA2
N2U4YThmYzg5ZmE5MmEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENv
bnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIu
Y3BwCkBAIC0xODIzLDYgKzE4MjMsOCBAQCBib29sIFRlc3RDb250cm9sbGVyOjpydW5UZXN0KGNv
bnN0IGNoYXIqIGlucHV0TGluZSkKICAgICBXS1JldGFpblB0cjxXS1VSTFJlZj4gd2tVUkwgPSBh
ZG9wdFdLKGNyZWF0ZVRlc3RVUkwoY29tbWFuZC5wYXRoT3JVUkwuY19zdHIoKSkpOwogICAgIG1f
Y3VycmVudEludm9jYXRpb24gPSBtYWtlVW5pcXVlPFRlc3RJbnZvY2F0aW9uPih3a1VSTC5nZXQo
KSwgb3B0aW9ucyk7CiAKKyAgICBXVEZMb2dBbHdheXMoIjxXSz46IFJ1bm5pbmcgJXMiLCBjb21t
YW5kLnBhdGhPclVSTC5jX3N0cigpKTsKKwogICAgIGlmIChjb21tYW5kLnNob3VsZER1bXBQaXhl
bHMgfHwgbV9zaG91bGREdW1wUGl4ZWxzRm9yQWxsVGVzdHMpCiAgICAgICAgIG1fY3VycmVudElu
dm9jYXRpb24tPnNldElzUGl4ZWxUZXN0KGNvbW1hbmQuZXhwZWN0ZWRQaXhlbEhhc2gpOwogCmRp
ZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9VSVNjcmlwdENvbnRyb2xsZXJJ
T1MubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9VSVNjcmlwdENvbnRyb2xsZXJJT1Mu
bW0KaW5kZXggN2ZhZWU2NDQ1YTcwYmVhMDFjZTQ0MTIzYjc3MTY4ODMwNjAyZDNiNi4uMGRmNTRl
NjQ5MDNlODdhZGY3ZGQxYzNkMzA3ZGQzMzFmODcyYzZjNCAxMDA2NDQKLS0tIGEvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9pb3MvVUlTY3JpcHRDb250cm9sbGVySU9TLm1tCisrKyBiL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvaW9zL1VJU2NyaXB0Q29udHJvbGxlcklPUy5tbQpAQCAtMzAzLDYgKzMw
Myw3IEBAIHZvaWQgVUlTY3JpcHRDb250cm9sbGVySU9TOjpzaW5nbGVUYXBBdFBvaW50V2l0aE1v
ZGlmaWVycyhXZWJDb3JlOjpGbG9hdFBvaW50IGxvCiAgICAgZm9yIChhdXRvJiBtb2RpZmllckZs
YWcgOiBtb2RpZmllckZsYWdzKQogICAgICAgICBbW0hJREV2ZW50R2VuZXJhdG9yIHNoYXJlZEhJ
REV2ZW50R2VuZXJhdG9yXSBrZXlEb3duOm1vZGlmaWVyRmxhZ107CiAKKyAgICBXVEZMb2dBbHdh
eXMoIjxXSz46IFNlbmRpbmcgc2luZ2xlIHRhcCBhdCAoJS4wZiwgJS4wZikiLCBfX1BSRVRUWV9G
VU5DVElPTl9fLCBsb2NhdGlvbi54KCksIGxvY2F0aW9uLnkoKSk7CiAgICAgW1tISURFdmVudEdl
bmVyYXRvciBzaGFyZWRISURFdmVudEdlbmVyYXRvcl0gdGFwOmdsb2JhbFRvQ29udGVudENvb3Jk
aW5hdGVzKHdlYlZpZXcoKSwgbG9jYXRpb24ueCgpLCBsb2NhdGlvbi55KCkpIGNvbXBsZXRpb25C
bG9jazpbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWZQdHIoKnRoaXMpLCBtb2RpZmllckZs
YWdzID0gV1RGTW92ZShtb2RpZmllckZsYWdzKSwgYmxvY2sgPSBXVEZNb3ZlKGJsb2NrKV0gKCkg
bXV0YWJsZSB7CiAgICAgICAgIGlmICghbV9jb250ZXh0KQogICAgICAgICAgICAgcmV0dXJuOwpA
QCAtMzExLDYgKzMxMiw3IEBAIHZvaWQgVUlTY3JpcHRDb250cm9sbGVySU9TOjpzaW5nbGVUYXBB
dFBvaW50V2l0aE1vZGlmaWVycyhXZWJDb3JlOjpGbG9hdFBvaW50IGxvCiAgICAgICAgICAgICBb
W0hJREV2ZW50R2VuZXJhdG9yIHNoYXJlZEhJREV2ZW50R2VuZXJhdG9yXSBrZXlVcDptb2RpZmll
ckZsYWdzW2ldXTsKICAgICAgICAgfQogICAgICAgICBbW0hJREV2ZW50R2VuZXJhdG9yIHNoYXJl
ZEhJREV2ZW50R2VuZXJhdG9yXSBzZW5kTWFya2VySElERXZlbnRXaXRoQ29tcGxldGlvbkJsb2Nr
OmJsb2NrLmdldCgpXTsKKyAgICAgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiAuLi5kb25lIHNlbmRp
bmcgc2luZ2xlIHRhcC4iKTsKICAgICB9XTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDAtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDAu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMDAt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTAwMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEw
MDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDAwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xMDAwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTAxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTAxLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMi5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTEwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTAzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTEwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDQuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xMDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwNS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xMDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTEwNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwNi1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwNi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDcu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwOC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDguaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTEwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwOS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTEwOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwOS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA5Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xMTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExMC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTAtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xMTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTAuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExMS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTExMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExMS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTExMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTExLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTItZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTEyLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMTIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTExMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTMuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExMy5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEx
NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTExNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEx
NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTE0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTUt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE1Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTExNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xMTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTYuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExNi5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTExNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExNy1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTExNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTE3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xMTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE4
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTguaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExOS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xMTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTExOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMi1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIwLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIwLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjAuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xMjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyMS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xMjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTEyMS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyMi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyMi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIyLmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIzLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xMjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyNC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyNS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyNS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTEyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI1Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMjYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjctZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjcu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyNy5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyOC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTEyOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyOC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTEyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjktZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI5LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMy5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTEzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMwLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTEzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTMwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMxLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMi5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTEzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTEzMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzQuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xMzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzNS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xMzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTEzNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzNi1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzNi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzcu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzOC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzguaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTEzOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzOS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTEzOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzOS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEzOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM5Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0MC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDAtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDAuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQxLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDItZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQyLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNDIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDMuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0My5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0
NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0
NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDUt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ1Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xNDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDYuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xNDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0Ni5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0Ny1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0Ny5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTQ3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xNDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ4
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDguaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0OS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE0OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUwLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUwLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTAuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xNTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xNTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE1MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Mi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Mi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUyLmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUzLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xNTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1NC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1NS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE1NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1NS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU1Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xNTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTctZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTcu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Ny5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1OC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTE1OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1OC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTktZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU5LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNi5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYwLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTYwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYxLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xNjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Mi5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTE2My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2My1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTE2My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2My5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xNjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjQuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xNjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2NS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xNjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE2NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Ni5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjcu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2OC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjguaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2OS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE2OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2OS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY5Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3MC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzAtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzAuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTcxLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzItZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTcyLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNzIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzMuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3My5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3
NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE3NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3
NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTc0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzUt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc1Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzYuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xNzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3Ni5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3Ny1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3Ny5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTc3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xNzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc4
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzguaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE3OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTgwLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xODAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTgwLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODAuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE4MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Mi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Mi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTgyLmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTgzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTgzLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
ODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4NC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4NS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE4NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4NS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg1Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xODYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODctZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODcu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Ny5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4OC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTE4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4OC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODktZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg5LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkwLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTkwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
OTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkxLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xOTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xOTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Mi5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTE5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5My1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTE5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5My5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xOTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTQuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xOTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5NS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xOTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE5NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Ni5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTcu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xOTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5OC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xOTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTguaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5OS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5OS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk5Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMi5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjAwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIw
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAwLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yMDEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yMDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yMDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMy5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAzLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMDQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
MDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwNS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIw
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTIwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIw
Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjA2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDgtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTIwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0yMDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwOC5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIwOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwOS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwOS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjA5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjEuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTAtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTAuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yMTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIx
MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTIxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjExLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxMS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTIxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxMS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjEyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjEyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjEyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTIuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yMTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxMy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yMTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIxMy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE0Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE1Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
MTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yMTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTYtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yMTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTYuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTIxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNy5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE3Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTgtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMTguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTIxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTktZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTku
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxOS5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjAtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIwLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIwLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yMjAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjEtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIyMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yMjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyMS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTIyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIyLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTIyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjIyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
MjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjQuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyNC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTIyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI1LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyNS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTIyNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyNS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjI1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI2LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MjI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI2Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjYuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yMjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyNy1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIyNy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MjI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyOC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyOC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI5Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjku
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjMwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIz
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMwLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yMzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yMzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yMzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMy5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIzMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMzLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjM0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIzNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
MzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzNS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIz
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTIzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIz
Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjM2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzgtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTIzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0yMzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzOC5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzOS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzOS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjM5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDAtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDAuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0
MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTI0MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0MS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTI0MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDIuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yNDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0My1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yNDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI0My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0NC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0NC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ1Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
NDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDYtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDYuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0Ny1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTI0Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0Ny5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI0Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ3Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjQ4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDgtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNDguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTI0OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDktZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDku
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0OS5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTAtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUwLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUwLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTEtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yNTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1MS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTI1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUyLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTI1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjUyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
NTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTQuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1NC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTI1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU1LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1NS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTI1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1NS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU2LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MjU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU2Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTYuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yNTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1Ny1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI1Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MjU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1OC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1OC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjU5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU5Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTku
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjYwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2MC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYwLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yNjEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yNjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2Mi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yNjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2My1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2My5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYzLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjY0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNjQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2NS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTI2Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2
Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjY2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjgtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTI2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0yNjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2OC5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2OS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjY5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNy5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzAtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzAuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3
MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTI3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjcxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3MS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTI3MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjcyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjcyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzIuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yNzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3My1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yNzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI3My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3NC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3NC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc0Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc1Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
NzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNzYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzYtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzYuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3Ny1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjc3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTI3Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3Ny5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc3Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzgtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNzguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTI3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzktZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzku
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3OS5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODAtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgwLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgwLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yODAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODEtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
ODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yODEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4MS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTI4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgyLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTI4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjgyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
ODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODQuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4NC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTI4NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg1LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4NS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTI4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4NS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg2LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yODYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Mjg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg2Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODYuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4Ny1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI4Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Mjg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4OC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4OC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg5Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODku
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjktZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5MC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjkwLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjkx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjkx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yOTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yOTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5Mi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yOTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5My1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI5My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5My5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI5My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjkzLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjk0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yOTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI5NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
OTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5NS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTI5Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5
Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjk2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTgtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTI5OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0yOTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yOTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5OC5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI5OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI5OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5OS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjk5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMC5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAwLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzAwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAxLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAxLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDEuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDIuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMw
Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTMwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwMy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTMwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwMy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDQuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zMDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwNS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zMDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTMwNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwNi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwNi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA2Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA3LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwOC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwOS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMwOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwOS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA5Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMx
MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTAtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTAuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxMS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTMxMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxMS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTMxMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzExLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzEyLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzEyLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMTIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTMxMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTMuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxMy5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTMxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTMxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzE0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE1LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE1Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTYtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zMTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTYuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNi5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTMxNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE3LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTMxNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzE3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE4LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zMTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MzE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE4Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTguaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxOS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMxOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIwLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIwLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjAuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zMjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyMS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zMjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjEuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTMyMS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyMi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMy
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIyLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zMjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyNC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyNS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTMyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI1Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjYtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMjYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjct
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyNy5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMy
OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTMyOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMy
OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjkt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI5Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMy5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMy5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMwLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzMwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMxLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMxLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzEuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzIuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMz
Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTMzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzMy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTMzMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzMy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzQuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zMzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzNS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zMzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTMzNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzNi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzNi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM2Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM3LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzOC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzOS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMzOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzOS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMzOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM5Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0
MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDAtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDAuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0MS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0MS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQxLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQyLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQyLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNDIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDMuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0My5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTM0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTM0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ1LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ1Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDYtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zNDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDYuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zNDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0Ni5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ3LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0Ny1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0Ny5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzQ3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ4LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zNDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MzQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ4Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDguaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM0OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUwLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUwLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTAuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zNTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1MS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zNTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTEuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM1MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Mi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUyLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zNTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1NC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1NS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM1NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1NS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU1Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTYtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zNTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTct
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Ny5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1
OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTM1OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1
OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTkt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU5Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNi5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYwLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzYwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYxLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYxLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjEuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zNjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjIuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2
Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTM2My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2My1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTM2My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2My5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zNjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjQuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zNjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2NS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zNjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM2NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2Ni1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2Ni5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY2Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY3LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2OC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2OS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM2OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2OS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY5Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3
MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzAtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzAuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3MS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3MS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzcxLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzcyLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzcyLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNzIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzMuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3My5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTM3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTM3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzc0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc1LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc1Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzYtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzYuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zNzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3Ni5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc3LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3Ny1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3Ny5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzc3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc4LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zNzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Mzc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc4Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzguaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM3OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzgwLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zODAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzgwLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODAuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4MS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODEuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM4MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Mi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzgyLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzgz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzgz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4NC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4NS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM4NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4NS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg1Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODYtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zODYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODct
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Ny5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4
OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTM4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4
OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODkt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg5Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkwLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzkwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zOTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkxLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkxLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTEuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zOTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTIuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zOTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5
Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTM5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5My1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTM5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5My5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zOTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTQuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zOTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5NS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zOTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM5NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5Ni1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5Ni5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk2Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk3LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zOTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5OC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zOTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5OS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5OS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk5Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDAtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDAtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwMC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDAwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQw
MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwMC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDAwLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00MDEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQw
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwMy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwMy5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDAzLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MDQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDUuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00MDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwNS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA2LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDA2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA3Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDgtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi00MDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDguaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwOC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQwOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA5LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwOS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwOS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDA5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDEtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDEuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTAt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00MTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQxMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDExLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxMS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxMS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDEyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDEyLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDEyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTIuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00MTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxMy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00MTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQxMy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQx
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE0Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00MTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00MTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTYtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTYuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNy5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE3Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTgtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MTguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTkuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxOS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQy
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQy
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjAtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIwLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00MjAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjEtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQyMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00MjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyMS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIyLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDIyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00MjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjMuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjQuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQy
NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyNS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQyNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDI1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI2LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI2Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjYuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00MjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyNy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQyNy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyOC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyOC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI4Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI5Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDMtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzMC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDMwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQz
MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzMC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDMwLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00MzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQz
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzMy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzMy5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQzMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDMzLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDM0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQzNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzUuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00MzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzNS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM2LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDM2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM3Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzgtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi00MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzguaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzOC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM5LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzOS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzOS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDM5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDAt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQ0MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQxLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0MS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQ0MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0MS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQyLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDIuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00NDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0My1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ0My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ0Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00NDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0Ni1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDYtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDYuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0Ny1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQ0Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0Ny5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ0Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ3Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDQ4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDgtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00NDguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQ0OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDkuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0OS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTAtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUwLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTEtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00NTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1MS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQ1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUyLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQ1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDUyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00NTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTMuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00NTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTQuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1
NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQ1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1NS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQ1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1NS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU2LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00NTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU2Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTYuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00NTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1Ny1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ1Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1OC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1OC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU4Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDU5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU5Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDYtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2MC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDYwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2
MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2MC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDYwLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00NjEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2My1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2My5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDYzLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDY0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NjQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjUuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2NS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY2LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDY2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY3Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjgtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi00NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjguaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00NjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2OC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY5LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2OS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2OS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDY5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzAt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQ3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcxLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3MS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQ3MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3MS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcyLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzIuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00NzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3My1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ3My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc0Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00NzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NzYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3Ni1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzYtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzYuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3Ny1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDc3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQ3Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3Ny5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc3Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzgtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00NzguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQ3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00Nzkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzkuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3OS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODAtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgwLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00ODAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODEtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00ODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00ODEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4MS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQ4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgyLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQ4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDgyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00ODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODMuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODQuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00ODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4
NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQ4NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4NS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQ4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4NS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg2LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00ODYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg2Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODYuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00ODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4Ny1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00ODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ4Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4OC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4OC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg4Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg5Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
ODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDktZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5MC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5
MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5MC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDkwLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00OTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5My1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ5My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5My5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ5My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDkzLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDk0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00OTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ5NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTUuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00OTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5NS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk2LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDk2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
OTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk3Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTgtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi00OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTguaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00OTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5OC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ5OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk5LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5OS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ5OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5OS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDk5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MC5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MC5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAwLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTAwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAx
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDEuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTUwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwMy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTUwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwMy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDQuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01MDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwNS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01MDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTUwNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwNi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUw
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA2Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA3
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwOC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwOS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUwOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwOS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA5Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTAtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxMS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTUxMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxMS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTUxMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTEx
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTItZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTEyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTEyLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MTIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTUxMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxMy5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTUxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTUxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTE0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE1LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTUuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTYtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01MTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTYuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUx
Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTUxNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE3LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxNy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTUxNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxNy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTE3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01MTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNTE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTguaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxOS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUxOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01Mi1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTIwLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTIwLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjAuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01MjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyMS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01MjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjEuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTUyMS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyMi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUy
Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyMi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTIyLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUy
NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyNS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyNS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTUyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI1Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjYtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI2LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI2Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MjYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyNy5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI5LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI5Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01My1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01My5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01My5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMwLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTMwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMx
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzEuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUzMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTUzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzMy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTUzMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzMy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzQuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01MzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzNS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTUzNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzNi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUz
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM2Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM3
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzOC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzOS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUzOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzOS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUzOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM5Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDAtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0MS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0MS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQx
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDItZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQyLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NDIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0My5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTU0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTU0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ1LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDUuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDYtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01NDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDYuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01NDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0
Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ3LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0Ny5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTQ3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01NDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNTQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDguaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0OS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU0OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTUuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTUwLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTUwLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTAuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01NTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1MS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01NTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTEuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU1MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1
Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTUyLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1
NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1NS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU1NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1NS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU1Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTYtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU2LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU2Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01NTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1Ny5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU5LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU5Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01Ni1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01Ni5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01Ni5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYwLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTYwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYx
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjEuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01NjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTU2My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2My1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTU2My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2My5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01NjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjQuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01NjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2NS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU2NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2Ni1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY2Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY3
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2OC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2OS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU2OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2OS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY5Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzAtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3MS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3MS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTcx
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzItZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTcyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTcyLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NzIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3My5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTU3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTU3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTc0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc1LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzUuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzYtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzYuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01NzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3
Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc3LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3Ny5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTc3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01NzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNTc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzguaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3OS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU3OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTgwLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01ODAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTgwLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODAuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01ODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4MS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODEuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU4MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4
Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTgyLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01ODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4
NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4NS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU4NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4NS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg1Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODYtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg2LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg2Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01ODYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4Ny5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg5LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg5Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkwLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTkwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01OTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkx
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTEuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01OTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01OTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTU5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5My1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTU5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5My5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01OTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTQuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01OTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5NS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01OTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU5NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5Ni1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk2Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk3
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01OTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5OC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01OTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5OS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5OS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk5Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwMC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjAwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYwMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwMC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAwLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDEtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02MDEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAz
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MDQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDUuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02MDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwNS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA2LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjA2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi02MDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYw
OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYwOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA5LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwOS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwOS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjA5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
MTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
MTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYxMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEx
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEyLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjEyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTIuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02MTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02MTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYxMy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxNC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYx
NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxNC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjE0Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NjE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NjE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02MTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYx
Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTYtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTYuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxNy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTYxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxNy5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjE3Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjE4LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjE4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MTguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTktZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTYxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTkuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxOS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYy
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjAtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIwLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIwLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjEtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYyMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02MjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyMS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTYyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTYyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjIyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02MjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjMuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjQu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTYyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI1LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyNS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTYyNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyNS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI2LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI2Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjYuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02MjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyNy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYyNy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyOC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYy
OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI4Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI5
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI5
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzMC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjMwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYzMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzMC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMwLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzEtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02MzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYzMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMz
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjM0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYzNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzUuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02MzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzNS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM2LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjM2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi02MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYz
OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM5LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzOS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzOS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjM5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQx
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0MS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0MS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQyLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDIuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02NDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0My1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY0My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0NC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0
NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0NC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQ0Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NjQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NjQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02NDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0
Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDYtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDYuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0Ny1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTY0Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0Ny5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY0Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQ3Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjQ4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQ4LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQ4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02NDguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDktZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTY0OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDkuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0OS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTAtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUwLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUwLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTEtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02NTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1MS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTY1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTY1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjUyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02NTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTMuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02NTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTQu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTY1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU1LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1NS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTY1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1NS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU2LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02NTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU2Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTYuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02NTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1Ny1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY1Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1OC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1
OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU4Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU5
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjU5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU5
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2MC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjYwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2MC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYwLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjEtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02NjEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2My1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2My5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYz
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjY0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NjQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjUuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2NS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY2LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjY2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi02NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02NjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2
OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY5LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2OS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2OS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjY5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjctZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcx
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3MS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3MS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcyLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzIuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02NzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3My1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY3My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3NC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3
NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3NC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjc0Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Njc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Njc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02NzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3
Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzYtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzYuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3Ny1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjc3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTY3Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3Ny5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjc3Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjc4LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjc4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02NzguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzktZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTY3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzkuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3OS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODAtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgwLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgwLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODEtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02ODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02ODEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4MS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTY4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTY4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjgyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02ODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODMuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODQu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02ODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTY4NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg1LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4NS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTY4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4NS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg2LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02ODYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg2Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODYuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02ODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4Ny1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02ODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY4Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4OC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4
OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg4Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg5
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg5
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02ODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjktZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjktZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5MC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5MC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjkwLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTEtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02OTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5My1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY5My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5My5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY5My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjkz
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjk0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02OTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY5NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTUuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02OTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5NS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk2LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjk2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02OTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi02OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02OTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5
OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY5OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk5LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5OS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY5OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5OS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjk5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MC5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTcwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MC5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTcwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTcwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzAwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDEuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
MDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
MDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTcwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzA0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzA0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDQuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03MDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwNS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03MDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTcwNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcw
Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTcwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzA2Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcw
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDgtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwOS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTcwOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwOS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTcwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzA5Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTcxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTAtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTAu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxMC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxMS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTcxMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxMS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTcxMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzEyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzEyLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTcxMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTMuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxMy5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTcxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTcxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzE0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE1LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE1
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTUuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTYt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03MTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTYu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTcxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTcxNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE3LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxNy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTcxNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxNy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE4LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03MTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNzE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE4Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTguaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxOS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTkuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTcxOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03Mi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIwLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIwLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjAu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03MjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyMS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjEtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03MjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjEuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTcyMS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyMi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTcyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyMi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTcyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIyLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTcyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyNS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTcyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyNS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTcyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI1
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjYtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI2Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MjYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjctZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTcyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyNy5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTcyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI4LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTcyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjkuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03My1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03My5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTczLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03My5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTczMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTczMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzMwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzEuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
MzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
MzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTczMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzM0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzM0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzQuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03MzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczNS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTczNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcz
Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTczNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzM2Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcz
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzgtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczOS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTczOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczOS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTczOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzM5Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDAtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDAu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0MC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0MS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0MS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQyLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDMuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0My5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTc0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTc0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ1LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ1
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDUuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDYt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03NDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDYu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03NDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ3LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0Ny1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0Ny5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ4LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03NDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNzQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ4Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDguaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0OS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDkuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc0OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUwLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUwLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTAu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03NTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1MS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTEtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03NTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTEuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc1MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1Mi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1Mi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUyLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1NS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc1NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1NS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU1
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTYtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU2Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03NTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTctZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1Ny5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU4LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTkuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03Ni1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03Ni5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03Ni5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2MC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2MC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzYwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjEuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
NjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03NjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2My1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzY0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03NjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzY0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjQuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03NjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2NS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc2NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2Ni1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2
Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2Ni5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzY2Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjgtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2OS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc2OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2OS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzY5Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzAtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzAu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3MC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3MS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3MS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzcyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzcyLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzMuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3My5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTc3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTc3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzc0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc1LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc1
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzUuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzYt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzYu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03NzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc3LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3Ny1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3Ny5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc4LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03NzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNzc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc4Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzguaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3OS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzkuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc3OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzgwLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzgwLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODAu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03ODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4MS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODEtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODEuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc4MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4Mi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4Mi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzgyLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03ODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4NS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc4NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4NS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg1
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODYtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg2Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03ODYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODctZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4Ny5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg4LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODkuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OS5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5MC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5MC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzkwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03OTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTEuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
OTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03OTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5My1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzk0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03OTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzk0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTQuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03OTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5NS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03OTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc5NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5Ni1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5
Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5Ni5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzk2Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Nzk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Nzk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTgtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5OS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5OS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzk5Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwMC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODAwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgwMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwMC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAwLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDEtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04MDEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwMi5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwMy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwMy5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDUuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04MDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwNS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODA2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA3
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDcuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDgt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi04MDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDgu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgwOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA5LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwOS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwOS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODEtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODEuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04MTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04MTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgxMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODEyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODEyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODEyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTIu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04MTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMy1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04MTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgxMy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxNC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxNC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE0Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04MTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgxNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTYuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxNy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTgxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxNy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE3
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTgtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE4LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE4Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MTguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTktZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTgxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTkuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxOS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Mi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjAt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIwLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgyMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04MjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyMS5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTgyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIyLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyMi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTgyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyMi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODIyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04MjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIzLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjMuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
MjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI1
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjYuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04MjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjcuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgyNy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyOC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgy
OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyOC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI4Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzMC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODMwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgzMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzMC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMwLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzEtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04MzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzMi5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzMy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzMy5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgzMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODM0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgzNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzUuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04MzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzNS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODM2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM3
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzcuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Mzgt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi04MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Mzgu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgzOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM5LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzOS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzOS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0MS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0MS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDIu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04NDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0My1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg0My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0NC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0NC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ0Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04NDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDYuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0Ny1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTg0Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0Ny5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg0Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ3
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODQ4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDgtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ4LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ4Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04NDguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDktZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTg0OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDkuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0OS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTAt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUwLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04NTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1MS5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTg1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUyLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTg1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1Mi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODUyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04NTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUzLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTMuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
NTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04NTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU1
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1NS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04NTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTYuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04NTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1Ny1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTcuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg1Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1OC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1
OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1OC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU4Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODU5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODYwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYwLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjEtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04NjEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2Mi5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2My1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2My5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODY0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjUuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2NS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODY2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY3
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjcuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Njgt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi04NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Njgu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04NjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY5LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2OS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2OS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODctZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODcuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3MS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3MS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODcyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODcyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzIu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04NzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3My1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg3My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3NC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg3NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3NC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc0Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04NzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzYuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3Ny1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTg3Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3Ny5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc3
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzgtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc4LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc4Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04NzguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzktZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTg3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzkuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3OS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODAt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgwLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04ODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04ODEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4MS5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTg4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgyLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTg4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4Mi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODgyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04ODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgzLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODMuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
ODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg1
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4NS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04ODYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODYuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04ODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4Ny1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04ODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODcuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg4Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4OC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4
OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4OC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg4Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04ODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODkt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODktZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODkwLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTEtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04OTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5Mi5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5My1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg5My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5My5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg5My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODk0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg5NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTUuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04OTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5NS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODk2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04OTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk3
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTcuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTgt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi04OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTgu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04OTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg5OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk5LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5OS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg5OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5OS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOS5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MC5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTAwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTAwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTAxLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTAxLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDEuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05MDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05MDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDQu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05MDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwNS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05MDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTkwNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwNi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTkwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwNi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTkwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA2Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDctZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTkwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDgtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwOS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkwOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwOS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA5
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTAuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
MTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxMC5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkx
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTkxMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkx
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTIt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTEyLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTEyLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTkxMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTMuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxMy5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTkxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTkxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTE0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE1LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE1
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTUuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
MTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05MTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTkxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE3
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE4LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05MTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tOTE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE4Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTguaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxOS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTkuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkxOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05Mi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyLmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIwLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
MjAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05MjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjEtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05MjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyMS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyMi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTkyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyMi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIyLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTkyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyNC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyNS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyNS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTkyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTI1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI2LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjctZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjcuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyNy5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI4LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI5LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI5
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjkuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05My1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05My5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05My5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTMwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTMwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTMxLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTMxLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzEuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05MzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05MzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkzMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzQu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05MzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzNS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTkzNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzNi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTkzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzNi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTkzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM2Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzctZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTkzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzgtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzOS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkzOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzOS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkzOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM5
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDAuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0MC5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDIt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQyLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQyLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDMuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0My5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTk0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0NC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTk0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0NC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ1LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ1
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDUuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05NDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ3
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0Ny1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0Ny5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ4LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05NDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tOTQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ4Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDguaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0OS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDkuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk0OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NS1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUwLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05NTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1MS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTEtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05NTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1Mi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1Mi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUyLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1NC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1NS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk1NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1NS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU2LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTctZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTcuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1Ny5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU4LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU5LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU5
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTkuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05Ni1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05Ni5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05Ni5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTYwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2MC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2MC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTYwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTYxLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTYxLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjEuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05NjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2Mi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2My1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2My5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjQu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05NjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2NS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk2NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2Ni1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTk2Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2Ni5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY2Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjctZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTk2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjgtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2OS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk2OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2OS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY5
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05Ny5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzAuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3MC5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzIt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTcyLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTcyLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzMuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3My5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTk3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3NC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTk3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3NC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTc0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc1LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc1
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzUuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NzYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc3
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3Ny1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3Ny5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc4LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05NzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tOTc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc4Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzguaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3OS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzkuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk3OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgwLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
ODAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05ODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4MS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODEtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4Mi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4Mi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgyLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05ODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4NC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4NS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk4NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4NS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg2LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODctZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODcuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4Ny5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg4LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg5LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg5
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODkuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OS5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTkwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5MC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5MC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTkwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTkxLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05OTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTkxLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTEuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05OTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5Mi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5My1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5My5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTQu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05OTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5NS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05OTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk5NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5Ni1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTk5Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5Ni5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk2Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTctZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTk5OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTgtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5OS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5OS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk5
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405184</attachid>
            <date>2020-07-24 14:38:19 -0700</date>
            <delta_ts>2020-07-24 14:38:19 -0700</delta_ts>
            <desc>Data collection (11)</desc>
            <filename>bug-214688-20200724143814.patch</filename>
            <type>text/plain</type>
            <size>2992204</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0ODU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGQ3ZDQ0Mzk0NWQ0N2U0Nzk4
ZGQ4NWRmYTA2OTI0MWVhOGQ4MDU3YjUuLjc4NTQxMjFlMWY2ZDc1NzQwNmU2NzI5YjRiMzZlN2Vi
M2JiN2M0ODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMDctMjQgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTiAocjI2
NDY5MCk6IFsgaU9TIHdrMiBdIGVkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGlzIGEgZmxha3kgZmFpbHVyZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0Njg4CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS82NTk5MzY4Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1t
OgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9zaW5nbGVUYXBJZGVudGlmaWVkOl0pOgorICAg
ICAgICAoLVtXS0NvbnRlbnRWaWV3IF9zaW5nbGVUYXBSZWNvZ25pemVkOl0pOgorICAgICAgICAq
IFVJUHJvY2Vzcy9pb3MvV0tTeW50aGV0aWNUYXBHZXN0dXJlUmVjb2duaXplci5tbToKKyAgICAg
ICAgKC1bV0tTeW50aGV0aWNUYXBHZXN0dXJlUmVjb2duaXplciBzZXRTdGF0ZTpdKToKKwogMjAy
MC0wNy0yNCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIENyYXNo
IHVuZGVyIFByZWNvbm5lY3RUYXNrOjpzdGFydCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQppbmRleCBiMDQxYzI5
MjkxZTJhM2MyODY3NjM2OWI1MDBjZmMxYzcyOTY1ZDZlLi4xYTc0ZjljODUyMDJhOWU3Y2FhODNk
MjE1MzcyN2M4MzA0NjIwN2Q4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9p
b3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KQEAgLTI3MjgsNiArMjcyOCw3IEBA
IC0gKHZvaWQpX2VuZFBvdGVudGlhbFRhcEFuZEVuYWJsZURvdWJsZVRhcEdlc3R1cmVzSWZOZWNl
c3NhcnkKIAogLSAodm9pZClfc2luZ2xlVGFwSWRlbnRpZmllZDooVUlUYXBHZXN0dXJlUmVjb2du
aXplciAqKWdlc3R1cmVSZWNvZ25pemVyCiB7CisgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiAlcyIs
IF9fUFJFVFRZX0ZVTkNUSU9OX18pOwogICAgIEFTU0VSVChnZXN0dXJlUmVjb2duaXplciA9PSBf
c2luZ2xlVGFwR2VzdHVyZVJlY29nbml6ZXIpOwogICAgIEFTU0VSVCghX3BvdGVudGlhbFRhcElu
UHJvZ3Jlc3MpOwogICAgIFtzZWxmIF9yZXNldElzRG91YmxlVGFwUGVuZGluZ107CkBAIC0yODAz
LDYgKzI4MDQsNyBAQCAtICh2b2lkKV9kaWRDb21wbGV0ZVN5bnRoZXRpY0NsaWNrCiAKIC0gKHZv
aWQpX3NpbmdsZVRhcFJlY29nbml6ZWQ6KFVJVGFwR2VzdHVyZVJlY29nbml6ZXIgKilnZXN0dXJl
UmVjb2duaXplcgogeworICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogJXMiLCBfX1BSRVRUWV9GVU5D
VElPTl9fKTsKICAgICBBU1NFUlQoZ2VzdHVyZVJlY29nbml6ZXIgPT0gX3NpbmdsZVRhcEdlc3R1
cmVSZWNvZ25pemVyKTsKIAogICAgIGlmICghW3NlbGYgaXNGaXJzdFJlc3BvbmRlcl0pCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tTeW50aGV0aWNUYXBHZXN0dXJl
UmVjb2duaXplci5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1N5bnRoZXRpY1Rh
cEdlc3R1cmVSZWNvZ25pemVyLm1tCmluZGV4IDYwZmJjYWQwYmY1MTc4YTQwOTFhODcyOGUzOWVh
NjkzNTIzOWFjZDguLmYxMGM5ODU3NDcyNWI1YjJhNzdlNTZjZWNiZDFiMDJkMDczYTMwZGQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1N5bnRoZXRpY1RhcEdlc3R1
cmVSZWNvZ25pemVyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1N5bnRo
ZXRpY1RhcEdlc3R1cmVSZWNvZ25pemVyLm1tCkBAIC02OCw2ICs2OCwxMiBAQCAtICh2b2lkKXNl
dFN0YXRlOihVSUdlc3R1cmVSZWNvZ25pemVyU3RhdGUpc3RhdGUKICAgICBlbHNlIGlmIChzdGF0
ZSA9PSBVSUdlc3R1cmVSZWNvZ25pemVyU3RhdGVGYWlsZWQpCiAgICAgICAgIFtfZ2VzdHVyZUZh
aWxlZFRhcmdldCBwZXJmb3JtU2VsZWN0b3I6X2dlc3R1cmVGYWlsZWRBY3Rpb24gd2l0aE9iamVj
dDpzZWxmXTsKICAgICBbc3VwZXIgc2V0U3RhdGU6c3RhdGVdOworICAgIGlmIChzdGF0ZSA9PSBV
SUdlc3R1cmVSZWNvZ25pemVyU3RhdGVFbmRlZCAmJiBzZWxmLnN0YXRlID09IFVJR2VzdHVyZVJl
Y29nbml6ZXJTdGF0ZUZhaWxlZCkgeworICAgICAgICBXVEZMb2dBbHdheXMoIjxXSz46ICoqKiBT
SU5HTEUgVEFQIEZBSUxFRCBUTyBSRUNPR05JWkUhICVAICoqKiIsIHNlbGYpOworICAgICAgICBm
b3IgKE5TU3RyaW5nICpzIGluIFtOU1RocmVhZCBjYWxsU3RhY2tTeW1ib2xzXSkKKyAgICAgICAg
ICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogJUAiLCBzKTsKKyAgICAgICAgV1RGTG9nQWx3YXlzKCI8
V0s+OiAiKTsKKyAgICB9CiB9CiAKIC0gKHZvaWQpcmVzZXQKZGlmZiAtLWdpdCBhL1Rvb2xzL0No
YW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBiN2ZjZmM5NDQxOWY3ZGVhZWQzMWEyNTYz
NWUzZTJjMzBmY2Y4MWM1Li5iNzJmZjM0MDc4NzExYjc5NTA2YTI5N2EyMDdkYmNhNWFmY2FhYjVi
IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTYgQEAKKzIwMjAtMDctMjQgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBs
ZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTiAocjI2NDY5MCk6IFsgaU9TIHdrMiBdIGVkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
IGlzIGEgZmxha3kgZmFpbHVyZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjE0Njg4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82NTk5MzY4Mz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYktpdFRl
c3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxl
cjo6cnVuVGVzdCk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlTY3JpcHRDb250
cm9sbGVySU9TLm1tOgorICAgICAgICAoV1RSOjpVSVNjcmlwdENvbnRyb2xsZXJJT1M6OnNpbmds
ZVRhcEF0UG9pbnRXaXRoTW9kaWZpZXJzKToKKwogMjAyMC0wNy0yNCAgWW91ZW5uIEZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHNvbWUgbG9nZ2luZyB0byBkZWJ1ZyBX
ZWJLaXQuUXVvdGFEZWxlZ2F0ZSB0ZXN0IHRoYXQgdGltZXMgb3V0IG9uIGEgRGVidWcgYm90CmRp
ZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcCBiL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCmluZGV4IDFiMTdiYWE4NWU3
OWNkZTJiYmE0ZjQ4MGRmMzg3NGE2YWFjNzM1MjMuLjdlZWI4NWQwM2IzNThjZDE1MzYwMTk4YTA2
N2U4YThmYzg5ZmE5MmEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENv
bnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIu
Y3BwCkBAIC0xODIzLDYgKzE4MjMsOCBAQCBib29sIFRlc3RDb250cm9sbGVyOjpydW5UZXN0KGNv
bnN0IGNoYXIqIGlucHV0TGluZSkKICAgICBXS1JldGFpblB0cjxXS1VSTFJlZj4gd2tVUkwgPSBh
ZG9wdFdLKGNyZWF0ZVRlc3RVUkwoY29tbWFuZC5wYXRoT3JVUkwuY19zdHIoKSkpOwogICAgIG1f
Y3VycmVudEludm9jYXRpb24gPSBtYWtlVW5pcXVlPFRlc3RJbnZvY2F0aW9uPih3a1VSTC5nZXQo
KSwgb3B0aW9ucyk7CiAKKyAgICBXVEZMb2dBbHdheXMoIjxXSz46IFJ1bm5pbmcgJXMiLCBjb21t
YW5kLnBhdGhPclVSTC5jX3N0cigpKTsKKwogICAgIGlmIChjb21tYW5kLnNob3VsZER1bXBQaXhl
bHMgfHwgbV9zaG91bGREdW1wUGl4ZWxzRm9yQWxsVGVzdHMpCiAgICAgICAgIG1fY3VycmVudElu
dm9jYXRpb24tPnNldElzUGl4ZWxUZXN0KGNvbW1hbmQuZXhwZWN0ZWRQaXhlbEhhc2gpOwogCmRp
ZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9VSVNjcmlwdENvbnRyb2xsZXJJ
T1MubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9VSVNjcmlwdENvbnRyb2xsZXJJT1Mu
bW0KaW5kZXggN2ZhZWU2NDQ1YTcwYmVhMDFjZTQ0MTIzYjc3MTY4ODMwNjAyZDNiNi4uMGRmNTRl
NjQ5MDNlODdhZGY3ZGQxYzNkMzA3ZGQzMzFmODcyYzZjNCAxMDA2NDQKLS0tIGEvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9pb3MvVUlTY3JpcHRDb250cm9sbGVySU9TLm1tCisrKyBiL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvaW9zL1VJU2NyaXB0Q29udHJvbGxlcklPUy5tbQpAQCAtMzAzLDYgKzMw
Myw3IEBAIHZvaWQgVUlTY3JpcHRDb250cm9sbGVySU9TOjpzaW5nbGVUYXBBdFBvaW50V2l0aE1v
ZGlmaWVycyhXZWJDb3JlOjpGbG9hdFBvaW50IGxvCiAgICAgZm9yIChhdXRvJiBtb2RpZmllckZs
YWcgOiBtb2RpZmllckZsYWdzKQogICAgICAgICBbW0hJREV2ZW50R2VuZXJhdG9yIHNoYXJlZEhJ
REV2ZW50R2VuZXJhdG9yXSBrZXlEb3duOm1vZGlmaWVyRmxhZ107CiAKKyAgICBXVEZMb2dBbHdh
eXMoIjxXSz46IFNlbmRpbmcgc2luZ2xlIHRhcCBhdCAoJS4wZiwgJS4wZikiLCBfX1BSRVRUWV9G
VU5DVElPTl9fLCBsb2NhdGlvbi54KCksIGxvY2F0aW9uLnkoKSk7CiAgICAgW1tISURFdmVudEdl
bmVyYXRvciBzaGFyZWRISURFdmVudEdlbmVyYXRvcl0gdGFwOmdsb2JhbFRvQ29udGVudENvb3Jk
aW5hdGVzKHdlYlZpZXcoKSwgbG9jYXRpb24ueCgpLCBsb2NhdGlvbi55KCkpIGNvbXBsZXRpb25C
bG9jazpbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWZQdHIoKnRoaXMpLCBtb2RpZmllckZs
YWdzID0gV1RGTW92ZShtb2RpZmllckZsYWdzKSwgYmxvY2sgPSBXVEZNb3ZlKGJsb2NrKV0gKCkg
bXV0YWJsZSB7CiAgICAgICAgIGlmICghbV9jb250ZXh0KQogICAgICAgICAgICAgcmV0dXJuOwpA
QCAtMzExLDYgKzMxMiw3IEBAIHZvaWQgVUlTY3JpcHRDb250cm9sbGVySU9TOjpzaW5nbGVUYXBB
dFBvaW50V2l0aE1vZGlmaWVycyhXZWJDb3JlOjpGbG9hdFBvaW50IGxvCiAgICAgICAgICAgICBb
W0hJREV2ZW50R2VuZXJhdG9yIHNoYXJlZEhJREV2ZW50R2VuZXJhdG9yXSBrZXlVcDptb2RpZmll
ckZsYWdzW2ldXTsKICAgICAgICAgfQogICAgICAgICBbW0hJREV2ZW50R2VuZXJhdG9yIHNoYXJl
ZEhJREV2ZW50R2VuZXJhdG9yXSBzZW5kTWFya2VySElERXZlbnRXaXRoQ29tcGxldGlvbkJsb2Nr
OmJsb2NrLmdldCgpXTsKKyAgICAgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiAuLi5kb25lIHNlbmRp
bmcgc2luZ2xlIHRhcC4iKTsKICAgICB9XTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDAtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDAu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMDAt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTAwMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEw
MDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDAwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xMDAwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTAxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTAxLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMi5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTEwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTAzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTEwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwMy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDQuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xMDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwNS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xMDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTEwNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwNi1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwNi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDcu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwOC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMDguaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTEwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwOS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTEwOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEwOS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTA5Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xMTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExMC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTAtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xMTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTAuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExMS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTExMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExMS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTExMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTExLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTItZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTEyLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMTIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTExMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTMuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExMy5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEx
NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTExNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEx
NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTE0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTUt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE1Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTExNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xMTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTYuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExNi5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTExNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExNy1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTExNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTE3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xMTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE4
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTguaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTExOS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xMTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTExOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMi1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIwLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIwLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjAuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xMjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyMS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xMjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTEyMS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyMi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyMi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIyLmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTIzLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xMjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyNC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyNS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyNS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTEyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI1Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMjYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjctZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjcu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyNy5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyOC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTEyOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEyOC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTEyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjktZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI5LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTI5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMy5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTEzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMwLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTEzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTMwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
MzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMxLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMi5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTEzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTMzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTEzMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzMy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xMzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzQuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xMzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzNS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xMzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTEzNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzNi1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzNi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzcu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzOC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xMzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xMzguaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTEzOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzOS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTEzOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTEzOS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTEzOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTM5Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0MC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDAtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDAuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQxLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDItZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQyLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNDIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDMuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0My5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0
NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0
NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDUt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ1Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xNDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDYuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xNDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0Ni5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0Ny1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0Ny5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTQ3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xNDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ4
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDguaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE0OS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE0OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUwLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUwLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTAuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xNTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xNTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE1MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Mi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Mi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUyLmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTUzLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xNTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1NC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1NS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE1NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1NS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU1Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xNTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTctZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTcu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1Ny5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1OC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTE1OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE1OC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTktZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU5LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTU5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNi5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYwLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTYwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYxLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xNjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Mi5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTE2My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTYzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2My1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTE2My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2My5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xNjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjQuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xNjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2NS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xNjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE2NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2Ni5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjcu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2OC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNjguaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2OS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE2OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE2OS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTY5Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3MC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzAtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzAuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTcxLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzItZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTcyLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xNzIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzMuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3My5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3
NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE3NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3
NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTc0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzUt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMTc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc1Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzYuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xNzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3Ni5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3Ny1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3Ny5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTc3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0xNzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc4
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzguaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0xNzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
NzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xNzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE3OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTgwLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xODAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTgwLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODAuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0xODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTE4MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Mi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Mi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTgyLmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTgzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTgzLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
ODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4NC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0xODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4NS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE4NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4NS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg1Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xODYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODctZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODcu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4Ny5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4OC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTE4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE4OC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODktZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg5LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTg5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkwLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMTkwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0x
OTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkxLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xOTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xOTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Mi5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTE5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTkzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5My1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTE5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5My5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMTkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0xOTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMTk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTQuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xOTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5NS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0xOTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTE5NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MTk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5Ni5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMTk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTcu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xOTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5OC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0xOTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0xOTguaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTE5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5OS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMTk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTE5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTE5OS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTE5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMTk5Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMi5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjAwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIw
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAwLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yMDEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yMDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yMDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwMy5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjAzLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMDQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
MDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwNS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIw
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTIwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIw
Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjA2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDgtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTIwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0yMDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMDguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwOC5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIwOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjA5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwOS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIwOS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjA5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjEuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTAtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTAuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yMTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIx
MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTIxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjExLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxMS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTIxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxMS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjEyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjEyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjEyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTIuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yMTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxMy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yMTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIxMy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE0Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE1Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
MTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yMTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTYtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yMTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTYuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTIxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxNy5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE3Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTgtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMTguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTIxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTktZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMTku
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIxOS5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjAtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIwLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIwLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yMjAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjEtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIyMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yMjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyMS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTIyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIyLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTIyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjIyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
MjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjIzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjQuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyNC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTIyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI1LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyNS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTIyNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyNS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjI1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI2LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MjI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI2Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjYuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yMjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyNy1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIyNy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MjI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyOC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIyOC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjI5Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMjku
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjMwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIz
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMwLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yMzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yMzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yMzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzMy5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIzMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjMzLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjM0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yMzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTIzNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
MzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzNS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIz
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTIzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIz
Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjM2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzgtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTIzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0yMzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yMzguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yMzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzOC5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjM5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzOS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTIzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTIzOS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjM5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDAtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDAuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0
MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTI0MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0MS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTI0MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDIuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yNDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0My1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yNDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI0My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0NC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0NC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ1Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
NDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDYtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDYuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0Ny1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTI0Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0Ny5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI0Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ3Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjQ4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDgtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNDguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTI0OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDktZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNDku
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI0OS5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTAtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUwLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUwLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTEtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yNTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1MS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTI1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUyLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTI1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjUyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
NTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjUzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTQuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1NC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTI1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU1LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1NS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTI1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1NS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU2LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MjU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU2Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTYuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yNTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1Ny1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI1Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MjU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1OC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI1OC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjU5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjU5Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNTku
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjYwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2MC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYwLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yNjEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yNjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2Mi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yNjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2My1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2My5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjYzLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjY0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNjQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2NS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTI2Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2
Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjY2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjgtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTI2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0yNjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNjguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2OC5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjY5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI2OS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjY5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNy5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzAtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzAuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3
MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTI3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjcxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3MS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTI3MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjcyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yNzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjcyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzIuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yNzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3My1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0yNzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI3My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3NC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3NC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc0Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc1Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
NzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNzYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzYtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yNzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzYuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3Ny1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjc3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTI3Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3Ny5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc3Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzgtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yNzguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTI3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzktZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yNzku
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI3OS5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODAtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgwLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgwLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0yODAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODEtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
ODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yODEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4MS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTI4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgyLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTI4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjgyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
ODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjgzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODQuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4NC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTI4NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg1LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4NS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTI4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4NS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg2LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yODYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Mjg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg2Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODYuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4Ny1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI4Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Mjg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4OC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI4OC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMjg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjg5Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yODku
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjktZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMjkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5MC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjkwLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjkx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjkx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0yOTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yOTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5Mi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0yOTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5My1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMjkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI5My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5My5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI5My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjkzLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjk0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMjk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0yOTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTI5NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0y
OTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5NS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTI5Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5
Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMjk2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMjk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTgtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTI5OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0yOTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0yOTguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0yOTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5OC5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI5OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMjk5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTI5OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTI5OS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMjk5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMC5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAwLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzAwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAxLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAxLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDEuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDIuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMw
Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTMwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzAzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwMy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTMwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwMy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDQuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zMDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwNS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zMDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTMwNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwNi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwNi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA2Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA3LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwOC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMDguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwOS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMwOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMwOS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzA5Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMx
MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTAtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTAuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxMS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTMxMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxMS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTMxMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzExLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzEyLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzEyLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMTIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTMxMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTMuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxMy5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTMxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTMxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzE0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE1LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE1Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTYtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zMTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTYuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNi5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTMxNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE3LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTMxNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxNy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzE3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE4LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zMTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MzE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzE4Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTguaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMxOS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMxOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIwLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIwLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjAuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zMjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyMS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zMjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjEuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTMyMS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyMi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMy
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIyLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzIz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zMjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyNC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyNS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTMyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI1Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjYtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMjYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjct
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyNy5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMy
OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTMyOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMy
OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjkt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzI5Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMy5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMy5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMwLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzMwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zMzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMxLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMxLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzEuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzIuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMz
Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTMzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzMzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzMy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTMzMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzMy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zMzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzQuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zMzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzNS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zMzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTMzNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzNi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzNi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM2Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM3LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzOC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zMzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zMzguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzOS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTMzOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTMzOS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTMzOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzM5Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0
MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDAtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDAuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0MS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0MS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQxLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQyLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQyLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNDIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDMuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0My5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTM0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTM0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ1LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ1Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDYtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zNDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDYuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zNDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0Ni5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ3LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0Ny1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0Ny5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzQ3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ4LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zNDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
MzQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzQ4Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDguaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM0OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM0OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUwLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUwLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTAuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zNTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1MS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zNTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTEuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM1MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Mi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUyLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzUz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zNTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1NC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1NS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM1NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1NS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU1Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTYtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zNTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTct
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1Ny5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1
OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTM1OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1
OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTkt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzU5Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNi5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYwLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzYwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYxLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYxLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjEuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zNjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjIuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2
Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTM2My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzYzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2My1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTM2My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2My5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zNjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjQuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zNjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2NS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zNjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM2NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2Ni1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2Ni5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY2Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY3LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2OC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNjguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2OS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM2OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM2OS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzY5Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3
MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzAtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzAuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3MS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3MS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzcxLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzcyLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tMzcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzcyLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zNzIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzMuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3My5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTM3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTM3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzc0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc1LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc1Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzYtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzYuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zNzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3Ni5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc3LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3Ny1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3Ny5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzc3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc4LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi0zNzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Mzc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzc4Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzguaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM3OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zNzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zNzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM3OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzgwLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zODAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzgwLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODAuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4MS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi0zODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODEuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTM4MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Mi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzgyLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzgz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzgz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4NC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi0zODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4NS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM4NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4NS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg1Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODYtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zODYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODct
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4Ny5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4
OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTM4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4
OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODkt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzg5Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkwLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tMzkwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi0zOTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkxLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkxLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTEuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zOTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTIuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zOTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5
Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTM5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzkzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5My1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTM5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5My5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tMzkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi0zOTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tMzk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTQuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zOTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5NS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi0zOTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTM5NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tMzk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5Ni1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5Ni5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk2Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk3LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tMzk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0z
OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zOTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5OC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi0zOTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi0zOTguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5OS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tMzk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTM5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTM5OS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTM5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tMzk5Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDAtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDAtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwMC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDAwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQw
MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwMC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDAwLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00MDEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQw
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwMy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwMy5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDAzLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MDQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDUuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00MDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwNS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA2LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDA2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA3Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDgtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi00MDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MDguaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwOC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQwOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDA5LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwOS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQwOS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDA5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDEtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDEuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTAt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00MTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQxMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDExLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxMS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxMS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDEyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDEyLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDEyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTIuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00MTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxMy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00MTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQxMy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQx
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE0Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00MTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00MTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTYtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTYuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxNy5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE3Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTgtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MTguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MTkuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQxOS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQy
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQy
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjAtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIwLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00MjAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjEtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQyMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00MjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyMS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIyLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDIyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00MjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDIzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjMuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjQuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQy
NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyNS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQyNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDI1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI2LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI2Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjYuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00MjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyNy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQyNy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyOC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQyOC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI4Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDI5Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDMtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzMC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDMwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQz
MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzMC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDMwLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00MzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQz
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzMy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzMy5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQzMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDMzLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDM0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00MzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQzNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzUuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00MzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzNS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM2LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDM2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
MzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM3Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzgtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi00MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00MzguaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00MzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzOC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDM5LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzOS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQzOS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDM5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDAt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQ0MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQxLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0MS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQ0MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0MS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQyLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDIuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00NDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0My1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ0My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ0Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00NDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0Ni1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDYtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDYuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0Ny1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQ0Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0Ny5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ0Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ3Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDQ4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDgtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00NDguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQ0OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NDkuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ0OS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTAtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUwLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTEtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00NTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1MS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQ1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUyLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQ1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDUyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00NTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDUzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTMuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00NTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTQuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1
NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQ1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1NS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQ1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1NS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU2LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00NTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU2Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTYuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00NTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1Ny1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ1Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1OC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ1OC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU4Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDU5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDU5Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDYtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2MC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDYwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2
MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2MC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDYwLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00NjEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2My1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2My5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDYzLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDY0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NjQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjUuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2NS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY2LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDY2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY3Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjgtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi00NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NjguaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00NjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2OC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDY5LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2OS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ2OS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDY5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzAt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQ3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcxLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3MS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTQ3MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3MS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00NzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDcyLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzIuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00NzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3My1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi00NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ3My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc0Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00NzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NzYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3Ni1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzYtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzYuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3Ny1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDc3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQ3Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3Ny5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc3Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzgtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
N2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00NzguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTQ3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00Nzkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00NzkuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
NzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ3OS5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODAtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgwLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi00ODAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODEtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00ODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00ODEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4MS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQ4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgyLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTQ4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDgyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00ODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDgzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODMuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODQuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00ODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4
NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQ4NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4NS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTQ4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4NS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg2LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00ODYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg2Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODYuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00ODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4Ny1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00ODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ4Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNDg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZi
MDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4OC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ4OC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg4Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNDg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDg5Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
ODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDktZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5MC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNDkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5
MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5MC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDkwLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NDkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi00OTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5My1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNDkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ5My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5My5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ5My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDkzLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDk0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNDk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi00OTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTQ5NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTUuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi00OTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5NS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk2LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTQ5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNDk2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00
OTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk3Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTgtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMx
MmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi00OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi00OTguaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi00OTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgx
MDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5OC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ5OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNDk5LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5OS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTQ5OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTQ5OS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNDk5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MC5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MC5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAwLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTAwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAx
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDEuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTUwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwMy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTUwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwMy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDQuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01MDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwNS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01MDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTUwNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwNi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUw
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA2Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA3
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwOC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MDguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwOS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUwOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUwOS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTA5Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTAtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxMS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTUxMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxMS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTUxMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTEx
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTItZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTEyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTEyLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MTIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTUxMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxMy5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTUxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTUxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTE0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE1LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTUuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTYtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01MTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTYuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUx
Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTUxNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE3LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxNy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTUxNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxNy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTE3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01MTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNTE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTE4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTguaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUxOS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUxOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01Mi1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTIwLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTIwLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjAuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01MjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyMS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01MjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjEuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTUyMS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyMi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUy
Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyMi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTIyLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUy
NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyNS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyNS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTUyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI1Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjYtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI2LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI2Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MjYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyNy5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI5LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTI5Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01My1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01My5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01My5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMwLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTMwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01MzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMx
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzEuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTUzMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTUzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzMy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTUzMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzMy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01MzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzQuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01MzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzNS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTUzNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzNi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUz
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM2Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM3
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzOC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01MzguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzOS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTUzOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTUzOS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTUzOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTM5Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDAtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0MS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0MS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQx
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDItZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQyLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NDIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0My5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTU0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTU0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ1LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDUuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDYtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01NDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDYuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01NDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0
Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ3LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0Ny5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTQ3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01NDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNTQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTQ4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDguaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU0OS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU0OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTUuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTUwLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTUwLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTAuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01NTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1MS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01NTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTEuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU1MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1
Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTUyLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1
NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1NS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU1NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1NS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU1Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTYtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU2LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU2Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01NTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1Ny5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU5LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTU5Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01Ni1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01Ni5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01Ni5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYwLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTYwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYx
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjEuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01NjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTU2My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2My1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTU2My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2My5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01NjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjQuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01NjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2NS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU2NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2Ni1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY2Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY3
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2OC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NjguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2OS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU2OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU2OS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTY5Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzAtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3MS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3MS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTcx
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzItZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTcyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTcyLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01NzIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3My5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTU3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTU3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTc0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc1LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzUuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzYtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzYuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01NzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3
Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc3LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3Ny5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTc3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi01NzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlk
ZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNTc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTc4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5
M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzguaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDog
MnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8g
ZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBj
dXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBh
bmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBU
aGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
PHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJl
bmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgp
OworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZp
b3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSks
IGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU3OS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYg
QEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01NzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01NzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5
N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU3OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1
bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBw
eDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5k
IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRv
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24g
ZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1h
bnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIg
VCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNl
bGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48
L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZl
bnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTgwLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01ODAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTgwLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODAuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01ODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4MS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi01ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODEuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTU4MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4
Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTgyLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NTgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01ODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4
NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4NS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU4NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4NS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg1Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODYtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg2LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg2Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01ODYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4Ny5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1h
cy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
fQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgewor
ICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2Vz
IG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFs
bHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9u
IHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4K
KyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFy
a3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgo
KSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
ZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01
ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYz
ODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg5LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTg5Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01ODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsK
KyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRl
cjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0
aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0
ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sg
dGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBk
b2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0
Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1
bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHks
ICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAu
bm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkwLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNTkwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi01OTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkx
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTEuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01OTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01OTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTU5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTU5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5My1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTU5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5My5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi01OTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNTk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTQuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01OTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5NS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi01OTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTU5NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNTk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5Ni1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk2Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk3
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNTk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi01OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01OTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5OC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFh
NWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi01OTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi01OTguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAg
IGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBi
bHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rpbmcg
dGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0
ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUg
Y2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4g
VCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxh
enkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlw
dD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rp
b25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNs
aWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3Rp
ZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5OS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNTk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJk
MDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTU5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTU5OS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTU5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0
NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNTk5Lmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgewor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmln
aHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5n
IHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0
aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBh
Z2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGlu
ZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBp
ZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERv
bmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0Jl
aGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3
YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5
Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwMC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjAwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYwMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwMC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAwLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDEtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02MDEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjAz
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MDQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDUuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02MDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwNS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA2LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjA2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi02MDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MDguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYw
OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYwOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjA5LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwOS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYwOS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjA5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
MTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
MTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYxMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEx
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjEyLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjEyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTIuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02MTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02MTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYxMy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxNC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYx
NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxNC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjE0Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NjE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NjE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02MTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYx
Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTYtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTYuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxNy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTYxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxNy5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjE3Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjE4LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjE4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MTguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTktZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTYxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MTkuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYxOS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYy
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjAtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIwLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIwLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjEtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYyMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02MjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyMS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTYyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTYyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjIyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02MjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjIz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjMuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjQu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTYyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI1LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyNS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTYyNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyNS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI2LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI2Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjYuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02MjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyNy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYyNy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyOC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYy
OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI4Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI5
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjI5
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzMC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjMwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYzMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzMC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMwLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzEtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02MzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTYzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYzMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjMz
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjM0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02MzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTYzNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzUuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02MzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzNS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM2LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTYzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjM2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02MzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi02MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02MzguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02MzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYz
OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjM5LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzOS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTYzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTYzOS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjM5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQx
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0MS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0MS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQyLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDIuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02NDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0My1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY0My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0NC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0
NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0NC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQ0Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NjQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NjQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02NDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0
Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDYtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDYuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0Ny1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTY0Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0Ny5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY0Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQ3Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjQ4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQ4LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjQ4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02NDguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDktZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTY0OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NDkuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY0OS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTAtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUwLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUwLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTEtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02NTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1MS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTY1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTY1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjUyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02NTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjUz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTMuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02NTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTQu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTY1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU1LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1NS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTY1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1NS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU2LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02NTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU2Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTYuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02NTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1Ny1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY1Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1OC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY1
OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU4Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU5
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjU5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjU5
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2MC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjYwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2MC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYwLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjEtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02NjEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2My1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2My5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjYz
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjY0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NjQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjUuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2NS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY2LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjY2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi02NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02NjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2
OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjY5LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2OS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY2OS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjY5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjctZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcx
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3MS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3MS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02NzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjcyLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzIuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02NzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3My1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi02NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY3My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3NC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3
NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3NC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjc0Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Njc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Njc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02NzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3
Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzYtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzYuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3Ny1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjc3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTY3Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3Ny5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjc3Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjc4LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjc4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02NzguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAt
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNp
emU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30K
KworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlk
IHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2Vs
ZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8g
dGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwg
bGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48
L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rh
cnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2Fp
dEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOwor
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgp
OworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzktZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTY3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02
NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02NzkuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02NzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZj
ZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY3OS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRl
bmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJl
bnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBz
aGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0
ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3Bh
biBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+
VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4K
KzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisK
Kyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigi
TWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhl
bHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9j
dW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODAtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgwLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgwLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODEtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02ODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02ODEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4MS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTY4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTY4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjgyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02ODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjgz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODMuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODQu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02ODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTY4NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg1LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4NS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTY4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4NS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg2LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02ODYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg2Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODYuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02ODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4Ny1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02ODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY4Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNjg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2
ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4OC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY4
OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg4Lmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBh
biBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5
IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0
LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQg
J2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlk
PSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9z
cGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9k
aXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMi
KTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVy
LmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVu
dC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAg
TWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg5
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNjg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0Jl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjg5
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVj
YmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02ODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisK
KyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAg
cGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hp
ZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90
IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwg
bG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhl
IHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAg
IDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAu
d2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiks
IFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjktZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjktZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5MC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNjkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5MC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjkwLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTEtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNjkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi02OTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTY5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5My1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY5My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5My5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY5My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjkz
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjk0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNjk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi02OTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTY5NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTUuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi02OTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5NS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk2LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTY5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNjk2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi02OTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0
MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi02OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi02OTguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi02OTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZl
ZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5
OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0
YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1j
bGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5z
ZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2Fk
IHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vj
b25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+
PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisK
KyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY5OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNjk5LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4
NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5OS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTY5OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTY5OS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNjk5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9u
dC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7
Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0
IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQu
IFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBp
dGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBz
aG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBk
b2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0Pgor
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURv
bmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4
NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MC5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTcwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MC5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTcwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTcwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzAwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDEuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
MDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
MDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTcwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwMy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzA0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzA0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDQuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03MDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwNS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03MDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTcwNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcw
Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTcwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzA2Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcw
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDgtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MDguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwOS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTcwOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcwOS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTcwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzA5Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTcxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTAtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTAu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxMC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxMS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTcxMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxMS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTcxMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzEyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzEyLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTcxMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTMuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxMy5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTcxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTcxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzE0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE1LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE1
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTUuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTYt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03MTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTYu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTcxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTcxNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE3LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxNy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTcxNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxNy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE4LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03MTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNzE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzE4Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTguaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcxOS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MTkuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTcxOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03Mi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIwLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIwLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjAu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03MjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyMS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjEtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03MjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjEuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTcyMS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyMi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTcyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyMi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTcyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIyLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTcyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyNS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTcyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyNS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTcyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI1
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjYtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI2Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MjYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjctZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTcyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyNy5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTcyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI4LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTcyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzI5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MjkuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03My1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03My5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTczLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03My5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTczMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTczMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzMwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03MzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzEuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
MzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
MzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTczMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczMy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzM0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03MzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzM0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzQuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03MzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczNS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTczNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcz
Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTczNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzM2Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTcz
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzgtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03MzguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczOS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTczOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTczOS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTczOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzM5Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDAtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDAu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0MC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0MS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0MS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQyLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDMuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0My5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTc0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTc0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ1LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ1
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDUuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDYt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03NDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDYu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03NDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ3LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0Ny1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0Ny5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ4LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03NDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNzQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzQ4Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDguaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc0OS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NDkuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc0OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUwLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUwLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTAu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03NTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1MS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTEtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03NTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTEuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc1MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1Mi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1Mi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUyLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1NS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc1NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1NS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU1
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTYtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU2Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03NTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTctZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1Ny5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU4LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzU5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NTkuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03Ni1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03Ni5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03Ni5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2MC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2MC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzYwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjEuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
NjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03NjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2My1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzY0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03NjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzY0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjQuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03NjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2NS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc2NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2Ni1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2
Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2Ni5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzY2Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjgtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NjguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2OS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc2OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc2OS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzY5Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzAtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzAu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3MC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3MS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3MS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzcyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tNzcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzcyLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzMuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3My5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTc3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTc3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzc0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc1LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc1
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzUuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzYt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzYu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03NzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc3LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3Ny1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3Ny5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc4LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi03NzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQw
OTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tNzc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
KworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzc4Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0
MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzguaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdo
dDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcg
dG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRo
ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFn
ZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5l
LiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlk
PSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9u
ZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdh
aXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXki
XSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc3OS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1h
bmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03NzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03NzkuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3
Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc3OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTog
MjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisj
ZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9t
YXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rp
b24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0
IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0
ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bh
bj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVj
dGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIp
KTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9y
RXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRl
ciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9
KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzgwLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzgwLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODAu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03ODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4MS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODEtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi03ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODEuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTc4MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4Mi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4Mi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzgyLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tNzgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03ODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4NS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc4NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4NS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg1
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODYtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg2Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03ODYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODctZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4Ny5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg4LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3
ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4
OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQg
eworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBk
b2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFu
dWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBU
IG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2Vs
ZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwv
cD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9u
KCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOwor
TWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVu
dCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi03ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIw
NWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8
ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzg5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03ODkuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Citw
IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4
aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2Vs
ZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xp
Y2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6
eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0
YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJl
Zm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2Fs
bEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJv
ZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJr
dXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OS5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5MC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5MC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tNzkwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi03OTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
NzkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTEuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
OTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03OTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03
OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTc5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5My1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzk0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi03OTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzk0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tNzk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTQuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03OTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5NS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi03OTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTc5NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5Ni1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tNzk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5
Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5Ni5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTc5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzk2Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Nzk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
Nzk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi03OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4
MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTgtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi03OTguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Agewor
ICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVy
OiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3Rp
bmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3Rl
ZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0
aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRv
Zy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQi
PmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNj
cmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5j
dGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVu
Y3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwg
ImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5u
b3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5OS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tNzk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEy
ZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTc5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQi
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4K
K3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTc5OS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTc5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEw
MmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tNzk5Lmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQg
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmct
cmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNr
aW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVj
dCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhl
IHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQg
bGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3Bh
biBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hp
bGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGlu
Z0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAg
IGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0
S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwMC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODAwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgwMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwMC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAwLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDEtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04MDEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwMi5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwMy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwMy5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDUuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04MDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwNS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODA2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA3
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDcuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDgt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi04MDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MDgu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgwOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA5LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwOS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgwOS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODA5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODEtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODEuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04MTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04MTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgxMC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODEyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODEyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODEyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTIu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04MTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxMy1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04MTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgxMy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxNC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxNC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE0Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04MTUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgxNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTYuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxNy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTgxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxNy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE3
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTgtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE4LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODE4Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MTguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTktZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTgxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MTkuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgxOS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Mi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjAt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIwLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgyMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04MjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyMS5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTgyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIyLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyMi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTgyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyMi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODIyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04MjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODIzLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjMuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
MjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgyNC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI1
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjYuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04MjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyNy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjcuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgyNy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyOC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgy
OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgyOC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI4Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MjkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzMC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODMwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgzMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzMC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMwLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzEtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04MzEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTgzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzMi5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzMy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzMy5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgzMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODM0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTgzNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzUuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04MzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzNS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTgzNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODM2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04MzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM3
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04MzcuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Mzgt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi04MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Mzgu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04MzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTgzOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM5LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzOS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTgzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTgzOS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODM5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg0MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0MS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0MS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDIu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04NDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0My1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg0My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0NC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0NC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ0Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04NDUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDYuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0Ny1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTg0Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0Ny5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg0Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ3
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODQ4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDgtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ4LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODQ4Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04NDguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDktZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTg0OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NDkuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg0OS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTAt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUwLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04NTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1MS5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTg1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUyLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTg1Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1Mi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODUyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04NTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODUzLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTMuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
NTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04NTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg1NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU1
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1NS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04NTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTYuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04NTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1Ny1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTcuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg1Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1OC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1
OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg1OC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU4Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODU5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NTkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODYwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYwLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjEtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04NjEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2Mi5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2My1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2My5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODY0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjUuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2NS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODY2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY3
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NjcuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Njgt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi04NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04Njgu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04NjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY5LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2OS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg2OS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODY5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODctZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAi
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKwor
QWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODcuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg3MC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3MS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3MS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODcyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODcyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzIu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04NzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3My1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi04NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg3My5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3NC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg3NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3NC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc0Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tODc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04NzUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzYuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3Ny1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTg3Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3Ny5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc3
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzgtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc4LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODc4Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04NzguaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
XSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250
LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsK
K30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQg
c2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4g
VG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0
YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRv
Zy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+Citn
ZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5k
V2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIp
OworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9u
ZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzktZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTg3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi04NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRv
Zy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04NzkuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04NzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkz
ZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg3OS5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAy
cHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBl
eHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1
cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFu
ZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRo
ZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0i
Y29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8
c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVu
ZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwv
cD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7
CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBV
SUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwg
ZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIp
OworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
CitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAg
ICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6
eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODAt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgwLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04ODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04ODEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4MS5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTg4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgyLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTg4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4Mi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODgyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04ODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODgzLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODMuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
ODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04
ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg4NC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg1
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4NS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04ODYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODYuaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04ODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4Ny1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04ODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODcuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg4Ny5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4OC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tODg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2
NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4
OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg4OC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNm
Yjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg4Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVu
ZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVu
dGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNo
aWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRl
eHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFu
IGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5U
PC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgor
PC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKwor
KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJN
YWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1
bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7Cisg
ICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tODg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisK
K0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAg
ICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8
ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxh
enkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJj
MDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04ODkuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFz
LW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9
CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7Cisg
ICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
c2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMg
bm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxs
eSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24g
dGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3Rl
ZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgor
ICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJr
dXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgp
ID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5k
IiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODkt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODktZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAi
CisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
IgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hv
cj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tODkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODkwLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTEtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tODkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi04OTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTg5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5Mi5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5My1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg5My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5My5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg5My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
ODkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODk0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tODk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTg5NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTUuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi04OTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5NS5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTg5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tODk2Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi04OTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk3
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTcuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTgt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi04OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi04OTgu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi04OTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNi
YzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTg5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKwor
I3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlm
dC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3Qg
dW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBs
b2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUg
c2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwv
ZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAg
PHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVj
dEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53
YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4g
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwg
WyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcg
dGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg5OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk5LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1
ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5OS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwj
c2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTg5OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTg5OS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tODk5Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAg
Zm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
dWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0
ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRl
eHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBj
YXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBU
JyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6
eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0
PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlv
bkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xp
Y2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlm
eURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRl
NGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOS5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MC5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTAwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTAwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTAxLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTAxLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDEuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05MDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05MDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkwMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwMy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTAzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDQu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05MDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwNS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05MDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTkwNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwNi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTkwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwNi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTkwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA2Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDctZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05MDcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTkwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDgtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MDguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwOS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkwOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkwOS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTA5
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTAuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
MTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxMC5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkx
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTkxMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkx
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTExLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTIt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTEyLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTEyLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTkxMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTMuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxMy5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTkxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTkxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTE0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE1LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE1
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTUuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
MTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05MTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTkxNi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE3
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxNy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE4LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05MTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tOTE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTE4Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTguaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkxOS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MTkuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkxOS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05Mi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyLmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIwLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
MjAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05MjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjEtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05MjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyMS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyMi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTkyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyMi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIyLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MjMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTkyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyNC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyNS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyNS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTkyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTI1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI2LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjctZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjcuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05MjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyNy5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI4LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTI4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05MjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI5LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTI5
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MjkuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05My1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05My5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05My5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTMwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTMwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTMxLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05MzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTMxLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzEuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05MzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05MzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTkzMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzMy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTMzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzQu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05MzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzNS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTkzNS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzNi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTkzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzNi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTkzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM2Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzctZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05MzcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTkzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzgtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05MzguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzOC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzOS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTkzOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTkzOS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTkzOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTM5
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDAuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0MC5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTQxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDIt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQyLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQyLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDMuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0My5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTk0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0NC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTk0NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0NC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTQ0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ1LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ1
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDUuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05NDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk0Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ3
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0Ny1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0Ny5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ4LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05NDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tOTQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTQ4Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDguaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk0OS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NDkuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk0OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NS1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUwLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NTAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05NTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1MS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTEtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05NTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1Mi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1Mi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUyLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NTMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1NC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1NS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk1NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1NS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTU1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU2LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTctZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTcuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1Ny5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU4LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTU4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05NTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU5LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTU5
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NTkuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05Ni1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05Ni5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05Ni5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTYwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2MC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk2MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2MC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTYwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTYxLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTYxLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjEuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05NjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2Mi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk2Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2My1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2My5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTYzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjQu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05NjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2NS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk2NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2Ni1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTk2Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2Ni5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY2Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjctZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NjcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTk2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjgtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NjguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2OS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk2OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk2OS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTY5
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBk
b2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rp
b246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rp
b24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05Ny5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6
IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKwor
I2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRv
bWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0
aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVz
dCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0
dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBi
ZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3Nw
YW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQi
KSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZv
ckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOwor
fSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2Vs
ZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2Vs
ZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8
IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzAuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3
ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3MC5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQg
YW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRs
eSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlm
dC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0
ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFp
bmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBp
ZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwv
c3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwv
ZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhh
c3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFj
Iik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBl
ci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1l
bnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAg
IE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9u
LWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgor
fCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wg
ICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1
Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTcxLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQor
Cisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAg
IHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNo
aWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5v
dCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHks
IGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRo
ZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQu
PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAg
ICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2Vs
ZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3Vw
LndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9
PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIp
LCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5k
dW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzIt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODEx
YTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTcyLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
ICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNo
b3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8
c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNw
YW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24tOTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTcyLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAg
ICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
Ymx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjog
MXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n
IHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
dGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhl
IGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cu
IFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5s
YXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1h
cmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0
aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJj
bGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmVi
ZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8
ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgor
fCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgor
IgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAi
CisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2Vs
ZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzMuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJj
NDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3My5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJp
Z2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2lu
ZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3Qg
dGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBw
YWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxp
bmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4g
aWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxE
b25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdC
ZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtl
eSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTk3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3NC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
Ljwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAg
ICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLTk3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3NC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
MDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTc0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXpl
OiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisK
KyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0
b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVj
dGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRl
c3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxl
dHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9z
cGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRG
b3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKwor
ICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsK
K30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc1LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05NzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0
YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc1
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgor
fCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1j
bGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2Zi
NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzUuaHRtbApAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVy
OiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4Owor
ICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5k
IGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hp
ZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4
dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4g
aWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8
L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCiso
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1h
YyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxw
ZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3Vt
ZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAg
ICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NzYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKwor
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlv
bi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIK
K3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6
eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8
ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMw
NWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk3Ni5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMt
bWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30K
KworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAg
ICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBz
aGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBu
b3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5
LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0
aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+Cisg
ICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1
cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkg
PT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQi
KSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc3
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgx
MWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3Ny1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
PHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
Ijwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJo
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3Ny5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc3Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7Cisg
ICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGlu
ZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVk
IHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRo
ZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9n
LiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+
bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2Ny
aXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBN
YXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5j
dGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAi
Y2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc4LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi05NzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJl
YmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24tOTc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgor
fCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8
ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wg
IgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3Nl
bGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTc4Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAy
YzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzguaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1y
aWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tp
bmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0
IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUg
cGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBs
aW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFu
IGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGls
ZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5n
QmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAg
YXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRL
ZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk3OS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNs
aWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
bjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlv
bi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJv
d24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05NzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05NzkuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk3OS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6
ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQor
CisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQg
dG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxl
Y3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0
ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBs
ZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxk
IGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwv
c3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFy
dCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0
Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJB
ZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7
Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRj
Njg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxl
Y3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4
dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNr
IGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0
IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wg
IgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4Lmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
cCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBl
eGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNl
bGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNs
aWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xh
enkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJz
dGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFu
PmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+
Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsK
KyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJC
ZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNh
bGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5i
b2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFy
a3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9y
ZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJz
dGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9j
dXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAg
ICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4i
Cit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8
IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNw
YW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9n
LiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgwLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2
ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05
ODAuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNz
dGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFk
ZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQt
Y2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVu
c2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9h
ZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNl
Y29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w
ZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxw
PjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RB
bGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2Fp
dFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsi
c2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05ODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4MS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQz
ODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODEtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5s
YXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3Nl
bGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi05ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4MS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZv
bnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVl
OworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4
dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0
LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2Fw
aXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcg
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5U
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkg
ZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4K
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3Vw
LmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVu
ZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25B
bmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNr
Iik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4Mi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5
ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAg
ICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAg
ImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisK
K0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAi
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAg
aWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAg
ICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rp
b24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkg
ZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4Mi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEz
OTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgyLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6
IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRv
IGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2Ug
YW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4g
VGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhl
IDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0i
ZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
PC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUo
KTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2
aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0
IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0p
LCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2
IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4K
K3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNz
ZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlk
PSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8
ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5j
aG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
ZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxl
Y3Rpb24tOTgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4
OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05ODMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIw
cHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2Vu
ZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0
bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9u
IGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBt
YW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVy
IFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBz
ZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+
PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7
CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2
ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAg
TWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSko
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2
YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxw
PgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIK
K3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4K
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIK
K3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIK
KyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNr
LWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4NC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
K3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAg
Ym9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4g
ZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBz
ZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1j
bGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICds
YXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0i
c3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bh
bj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2
PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7
CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAi
QmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5j
YWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQu
Ym9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1h
cmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4NS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk4NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZv
Y3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAg
ICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgor
fCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxz
cGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRv
Zy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92
ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4NS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2Jj
NmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTg1Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisj
c3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0
LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1
bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxv
YWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBz
ZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVt
cGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8
cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndh
aXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBb
InNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1w
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0
aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVk
Mzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg2LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNz
ZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+
Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODYuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBm
b250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4
IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRl
eHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4
dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNh
cGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQn
IHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5
IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24g
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9u
QW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGlj
ayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5
RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODctZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5
OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIK
KyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgor
CitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAg
IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAg
IGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisg
ICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5
IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODcuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQx
MzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4Ny5odG1sCkBA
IC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0
OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0
byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhl
IGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdl
IGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUu
IFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRo
ZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9
ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVu
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25l
KCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhh
dmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJd
KSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlv
biIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg4LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2st
aW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwj
c2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBp
ZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgor
fCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFu
Y2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBm
b3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdi
ODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTg4Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
ZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAy
MHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNl
bmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21h
dG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlv
biBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3Qg
bWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRl
ciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUg
c2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFu
PjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JF
dmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAg
IE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVy
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVj
dGlvbi05ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4
NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg5LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8
cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAi
CisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTg5
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05ODkuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFu
IGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkg
c2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQt
Y2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAn
bGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9
InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3Nw
YW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rp
dj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIp
OworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIu
Y2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50
LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBN
YXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
NDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3Jl
IGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0
YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1
cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAg
ICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIK
K3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wg
PHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bh
bj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cu
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OS5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlj
a2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxl
Y3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRo
ZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25k
IGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Pgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBv
dmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNw
YW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENo
aWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50
aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRp
bmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAg
ICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlm
dEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNl
bGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTkwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5MC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAi
Cit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAg
PHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkg
ZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8
ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBi
cm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk5MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5MC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1l
eGlzdGluZy1zZWxlY3Rpb24tOTkwLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1z
aXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9
CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNl
bGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRv
IHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFs
IGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91
bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBx
dWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cu
PC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVt
cChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5n
IHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdh
aXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsK
KworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwg
IkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUo
KTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTkxLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5n
LXNlbGVjdGlvbi05OTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRl
ODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBleHRlbmRpbmcgdGhl
IHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gg
anVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8
I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAiCisgICAg
IgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVCIKK3wgICAiaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKKworQWZ0
ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIKK3wgIgorICAgICIK
K3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8I3NlbGVjdGlvbi1m
b2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
IgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTkxLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2Vm
Y2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTEuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFydCB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGluZy1yaWdodDogMnB4
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0
ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJy
ZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQg
c2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29uZCBsaW5lLiBUaGUg
dGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgPHNw
YW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxzcGFuIGlkPSJlbmQi
PlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+
Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOwor
CisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3Io
Ik1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hpZnRLZXkiXSksIGRv
Y3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsK
KyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05OTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
Y2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5Mi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAK
KworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAg
ICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy48I3NlbGVj
dGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVu
ZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxh
enkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgor
ICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIK
K3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+
bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQi
Cit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1
bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlv
bi05OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3
MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLTk5Mi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQtc2l6ZTogMjBweDsK
K30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworfQorCisjZW5kIHsK
KyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgdG9tYXRvOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9l
cyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVh
bGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBv
biB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVj
dGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+
CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dldFNlbGVjdGlvbigp
LnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpKTsKK01h
cmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0
aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQo
KCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
bmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CisKKyAgICBNYXJr
dXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJBZnRlciBleHRl
bmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9KSgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24t
OTkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVm
MzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5My1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVy
IHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24t
YW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0FmdGVyIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAg
ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAiCit8IDxwPgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24tZm9jdXM+IgorfCAg
ICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5My5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTkzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorcCB7
CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKKyAgICBib3Jk
ZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4dGVuZCBhbiBleGlz
dGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVj
dGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNr
IHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhlIHRleHQgJ2xhenkg
ZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFy
dCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8
c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsKKworKGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZv
cmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmNhbGxG
dW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5
LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisgICAgTWFya3Vw
Lm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDBj
MTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACisKK0JlZm9yZSBl
eHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWlj
ayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFy
dCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxlY3Rpb24tZm9jdXM+
IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAi
VCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8
ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxw
PgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+
Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLiIK
K3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQ8
I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0
aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24tOTk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdlNzJjMDVjYmM2ZWQ4
MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTQu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7Cit9CisKKyNzdGFy
dCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc2hpZnQtY2xp
Y2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRvZXMgbm90IHVuc2Vs
ZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51YWxseSwgbG9hZCB0
aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQgb24gdGhlIHNlY29u
ZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQg
b3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9wPgorICAgIDxwPjxz
cGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxD
aGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitNYXJrdXAud2FpdFVu
dGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0
aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50KCgpID0+IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5kIiksIFsic2hp
ZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFya3VwLmR1bXAoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBz
ZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05OTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5NS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1ZjM4MTFhNWQzODVl
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAg
IgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAg
IDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5
IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgor
fCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVj
dGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgICAiaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0
aW5nLXNlbGVjdGlvbi05OTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMt
ZXhpc3Rpbmctc2VsZWN0aW9uLTk5NS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3AgeworICAgIGZvbnQt
c2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOwor
fQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBz
ZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0LiBU
byB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGljayB0aGUgY2FwaXRh
bCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5IGRvZy4gVCcgc2hv
dWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8cD5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3RhcnQiPmxhenkgZG9n
Ljwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5oZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2PgorPHNjcmlwdD4KK2dl
dFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgTWFya3VwLmR1
bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGlu
ZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRX
YWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7
CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiks
ICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1cC5ub3RpZnlEb25l
KCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5Ni1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24tOTk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQwYzEyZWJkMDk5ZGU0
ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTk5Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUgZXh0ZW5kaW5nIHRo
ZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94
IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAi
PCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3VzPiIKK3wgIgorICAg
ICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAgIlQiCit8ICAgImhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCisKK0Fm
dGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhl
IHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9
InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4iCit8ICIKKyAgICAi
Cit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUPCNzZWxlY3Rpb24t
Zm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9n
LiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5Ni5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLTk5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVkODEwMmM0NDEzOTNl
ZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk2Lmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3RhcnQgeworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRpbmctcmlnaHQ6IDJw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNsaWNraW5nIHRvIGV4
dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNlbGVjdCB0aGUgY3Vy
cmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQgdGhlIHBhZ2UgYW5k
IHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNvbmQgbGluZS4gVGhl
IHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIDxz
cGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48c3BhbiBpZD0iZW5k
Ij5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuPC9w
PgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRVbnRpbERvbmUoKTsK
KworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9y
KCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFp
bmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBk
b2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7
CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTctZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiNDBjMTJlYmQwOTlkZTRlODY0YzY4NmIwNWYzODExYTVkMzg1ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBA
CisKK0JlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8
ICAgIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wg
ICAgIGlkPSJzdGFydCIKK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuPCNzZWxl
Y3Rpb24tZm9jdXM+IgorfCAiCisgICAgIgorfCA8cD4KK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJl
bmQiCit8ICAgICAiVCIKK3wgICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBs
YXp5IGRvZy4iCit8ICIKKyIKKworQWZ0ZXIgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIK
KyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAi
Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3RhcnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PmxhenkgZG9nLiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5k
IgorfCAgICAgIlQ8I3NlbGVjdGlvbi1mb2N1cz4iCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBq
dW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgorfCAiCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rp
b24tOTk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwN2I4OTdl
NzJjMDVjYmM2ZWQ4MTAyYzQ0MTM5M2VmY2ZiNzgwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi05OTcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1w
LWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitwIHsKKyAgICBmb250LXNpemU6IDIwcHg7
Cit9CisKKyNzdGFydCB7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKK30KKworI2VuZCB7
CisgICAgcGFkZGluZy1yaWdodDogMnB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIHRvbWF0bzsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgc2hpZnQtY2xpY2tpbmcgdG8gZXh0ZW5kIGFuIGV4aXN0aW5nIHRleHQgc2VsZWN0aW9uIGRv
ZXMgbm90IHVuc2VsZWN0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGV4dC4gVG8gdGVzdCBtYW51
YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgc2hpZnQtY2xpY2sgdGhlIGNhcGl0YWwgbGV0dGVyIFQg
b24gdGhlIHNlY29uZCBsaW5lLiBUaGUgdGV4dCAnbGF6eSBkb2cuIFQnIHNob3VsZCBiZSBzZWxl
Y3RlZC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPHA+VGhlIHF1aWNrIGJyb3du
IGZveCBqdW1wZWQgb3ZlciB0aGUgPHNwYW4gaWQ9InN0YXJ0Ij5sYXp5IGRvZy48L3NwYW4+PC9w
PgorICAgIDxwPjxzcGFuIGlkPSJlbmQiPlQ8L3NwYW4+aGUgcXVpY2sgYnJvd24gZm94IGp1bXBl
ZCBvdmVyIHRoZSBsYXp5IGRvZy48L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CitnZXRTZWxlY3Rpb24o
KS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CitN
YXJrdXAud2FpdFVudGlsRG9uZSgpOworCisoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3IoIk1hYyIpOworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkJlZm9yZSBleHRlbmRpbmcgdGhlIHNlbGVj
dGlvbiIpOworCisgICAgYXdhaXQgVUlIZWxwZXIuY2FsbEZ1bmN0aW9uQW5kV2FpdEZvckV2ZW50
KCgpID0+IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZW5kIiksIFsic2hpZnRLZXkiXSksIGRvY3VtZW50LmJvZHksICJjbGljayIpOworCisgICAgTWFy
a3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQWZ0ZXIgZXh0
ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfSkoKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9u
LTk5OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MGMxMmViZDA5OWRlNGU4NjRjNjg2YjA1
ZjM4MTFhNWQzODVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTgtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKKworQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9u
OgorfCAiCisgICAgIgorfCA8cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3Zl
ciB0aGUgIgorfCAgIDxzcGFuPgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9u
LWFuY2hvcj5sYXp5IGRvZy48I3NlbGVjdGlvbi1mb2N1cz4iCit8ICIKKyAgICAiCit8IDxwPgor
fCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJUIgorfCAgICJoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIKK3wgIgorIgorCitBZnRlciBleHRlbmRp
bmcgdGhlIHNlbGVjdGlvbjoKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgIlRoZSBxdWljayBicm93
biBmb3gganVtcGVkIG92ZXIgdGhlICIKK3wgICA8c3Bhbj4KK3wgICAgIGlkPSJzdGFydCIKK3wg
ICAgICI8I3NlbGVjdGlvbi1hbmNob3I+bGF6eSBkb2cuIgorfCAiCisgICAgIgorfCA8cD4KK3wg
ICA8c3Bhbj4KK3wgICAgIGlkPSJlbmQiCit8ICAgICAiVDwjc2VsZWN0aW9uLWZvY3VzPiIKK3wg
ICAiaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4iCit8ICIKKyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWlu
Y2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi05OTguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjA3Yjg5N2U3MmMwNWNiYzZlZDgxMDJjNDQxMzkzZWZjZmI3ODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5OC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3Ag
eworICAgIGZvbnQtc2l6ZTogMjBweDsKK30KKworI3N0YXJ0IHsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBibHVlOworfQorCisjZW5kIHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgdG9tYXRvOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzaGlmdC1jbGlja2luZyB0byBleHRlbmQgYW4gZXhp
c3RpbmcgdGV4dCBzZWxlY3Rpb24gZG9lcyBub3QgdW5zZWxlY3QgdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCB0ZXh0LiBUbyB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCBzaGlmdC1jbGlj
ayB0aGUgY2FwaXRhbCBsZXR0ZXIgVCBvbiB0aGUgc2Vjb25kIGxpbmUuIFRoZSB0ZXh0ICdsYXp5
IGRvZy4gVCcgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICA8cD5UaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSA8c3BhbiBpZD0ic3Rh
cnQiPmxhenkgZG9nLjwvc3Bhbj48L3A+CisgICAgPHA+PHNwYW4gaWQ9ImVuZCI+VDwvc3Bhbj5o
ZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLjwvcD4KKzwvZGl2Pgor
PHNjcmlwdD4KK2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdGFydCIpKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKKyhhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7Cisg
ICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLCAiQmVm
b3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci5jYWxs
RnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJzaGlmdEtleSJdKSwgZG9jdW1lbnQuYm9k
eSwgImNsaWNrIik7CisKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGFpbmVyIiksICJBZnRlciBleHRlbmRpbmcgdGhlIHNlbGVjdGlvbiIpOworICAgIE1hcmt1
cC5ub3RpZnlEb25lKCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5OS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQw
YzEyZWJkMDk5ZGU0ZTg2NGM2ODZiMDVmMzgxMWE1ZDM4NWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLTk5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorCitCZWZvcmUg
ZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb246Cit8ICIKKyAgICAiCit8IDxwPgorfCAgICJUaGUgcXVp
Y2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSAiCit8ICAgPHNwYW4+Cit8ICAgICBpZD0ic3Rh
cnQiCit8ICAgICAiPCNzZWxlY3Rpb24tYW5jaG9yPmxhenkgZG9nLjwjc2VsZWN0aW9uLWZvY3Vz
PiIKK3wgIgorICAgICIKK3wgPHA+Cit8ICAgPHNwYW4+Cit8ICAgICBpZD0iZW5kIgorfCAgICAg
IlQiCit8ICAgImhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIgor
fCAiCisiCisKK0FmdGVyIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uOgorfCAiCisgICAgIgorfCA8
cD4KK3wgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgIgorfCAgIDxzcGFu
PgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5sYXp5IGRvZy4i
Cit8ICIKKyAgICAiCit8IDxwPgorfCAgIDxzcGFuPgorfCAgICAgaWQ9ImVuZCIKK3wgICAgICJU
PCNzZWxlY3Rpb24tZm9jdXM+IgorfCAgICJoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIg
dGhlIGxhenkgZG9nLiIKK3wgIgorIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLTk5OS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhp
c3Rpbmctc2VsZWN0aW9uLTk5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDdiODk3ZTcyYzA1Y2JjNmVk
ODEwMmM0NDEzOTNlZmNmYjc4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24tOTk5
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorcCB7CisgICAgZm9udC1zaXplOiAyMHB4OworfQorCisjc3Rh
cnQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7Cit9CisKKyNlbmQgeworICAgIHBhZGRp
bmctcmlnaHQ6IDJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB0b21hdG87Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNoaWZ0LWNs
aWNraW5nIHRvIGV4dGVuZCBhbiBleGlzdGluZyB0ZXh0IHNlbGVjdGlvbiBkb2VzIG5vdCB1bnNl
bGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRleHQuIFRvIHRlc3QgbWFudWFsbHksIGxvYWQg
dGhlIHBhZ2UgYW5kIHNoaWZ0LWNsaWNrIHRoZSBjYXBpdGFsIGxldHRlciBUIG9uIHRoZSBzZWNv
bmQgbGluZS4gVGhlIHRleHQgJ2xhenkgZG9nLiBUJyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPlRoZSBxdWljayBicm93biBmb3gganVtcGVk
IG92ZXIgdGhlIDxzcGFuIGlkPSJzdGFydCI+bGF6eSBkb2cuPC9zcGFuPjwvcD4KKyAgICA8cD48
c3BhbiBpZD0iZW5kIj5UPC9zcGFuPmhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUg
bGF6eSBkb2cuPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworTWFya3VwLndhaXRV
bnRpbERvbmUoKTsKKworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRp
dGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFuZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuZCIpLCBbInNo
aWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2siKTsKKworICAgIE1hcmt1cC5kdW1wKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwgIkFmdGVyIGV4dGVuZGluZyB0aGUg
c2VsZWN0aW9uIik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30pKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405192</attachid>
            <date>2020-07-24 15:42:10 -0700</date>
            <delta_ts>2020-07-24 16:18:25 -0700</delta_ts>
            <desc>Speculative fix?</desc>
            <filename>bug-214688-20200724154209.patch</filename>
            <type>text/plain</type>
            <size>2022</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0ODU2CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNzQ3ZDBhODIzZjEyNjllMDMzY2I5
NGRiYTQwZWEwZmIzZTE2MjAwNi4uODYyNTg4OTY2N2UxZDA5N2UwMTZlNGVkNDdlZDU4NTBiNTIy
NDU5NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIwLTA3LTI0ICBXZW5zb24gSHNpZWggIDx3
ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04gKHIyNjQ2OTApOiBb
IGlPUyB3azIgXSBlZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGlu
Zy1zZWxlY3Rpb24uaHRtbCBpcyBhIGZsYWt5IGZhaWx1cmUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNDY4OAorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vNjU5OTM2ODM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgT24gaU9TLCB0aGlzIHRlc3Qgc2ltdWxhdGVzIGEgIlNoaWZ0ICsgdGFwIiBhbmQgdmVy
aWZpZXMgdGhhdCBpdCBleHRlbmRzIGFuIGV4aXN0aW5nIHNlbGVjdGlvbi4gSG93ZXZlciwgaXQn
cworICAgICAgICBwb3NzaWJsZSBmb3IgdGhpcyB0ZXN0IHRvIGZhaWwgaWYgdGhlIHNlbGVjdGlv
biB2aWV3IGFwcGVhcnMgYmVmb3JlIHRoZSB0YXAgY29tcGxldGVzLCBzaW5jZSB0aGUgdGFwIG1h
eSBiZSB0b28KKyAgICAgICAgY2xvc2UgdG8gb25lIG9mIHRoZSBzZWxlY3Rpb24gaGFuZGxlIHZp
ZXdzLCBjYXVzaW5nIGAtW1VJVGV4dFJhbmdlVmlldyBnZXN0dXJlUmVjb2duaXplclNob3VsZEJl
Z2luOl1gIHRvIHJldHVybgorICAgICAgICBgTk9gIGFuZCBjYXVzZSB0aGUgc3ludGhldGljIGNs
aWNrIGdlc3R1cmUgdG8gZmFpbCBpbiBmYXZvciBvZiB0b2dnbGluZyB0aGUgdmlzaWJpbGl0eSBv
ZiB0aGUgY2FsbG91dCBiYXIgYWJvdmUKKyAgICAgICAgdGhlIHNlbGVjdGlvbiB2aWV3LgorCisg
ICAgICAgIE1pdGlnYXRlIHRoaXMgYnkgc2ltcGx5IGFkZGluZyBhIGxhcmdlIG1hcmdpbiBiZXR3
ZWVuIHRoZSBleGlzdGluZyBzZWxlY3Rpb24gYW5kIHRoZSB0YXAgbG9jYXRpb24sIHRvIHdoaWNo
IHRoZQorICAgICAgICB0ZXN0IGF0dGVtcHRzIHRvIGV4dGVuZCB0aGUgc2VsZWN0aW9uLgorCisg
ICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmct
c2VsZWN0aW9uLmh0bWw6CisKIDIwMjAtMDctMjMgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNl
ckBhcHBsZS5jb20+CiAKICAgICAgICAgc3RlcHMoKSB0aW1pbmcgZnVuY3Rpb24gb24gYSB0cmFu
c2Zvcm0gYW5pbWF0aW9uIHRyaWdnZXJzIGEgcmVuZGVyIGV2ZXJ5IGZyYW1lCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlz
dGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCmluZGV4IDgyMDdiODk3ZTcy
YzA1Y2JjNmVkODEwMmM0NDEzOTNlZmNmYjc4MGIuLmI3ZTY2Y2ViMzI2NGFhOTg4NGI0NjI3Mzk2
YWM1ZDYzYWVjM2NiMTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNl
bGVjdGlvbi5odG1sCkBAIC05LDYgKzksMTAgQEAgcCB7CiAgICAgZm9udC1zaXplOiAyMHB4Owog
fQogCitwICsgcCB7CisgICAgbWFyZ2luLXRvcDogMTAwcHg7Cit9CisKICNzdGFydCB7CiAgICAg
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405218</attachid>
            <date>2020-07-24 20:11:07 -0700</date>
            <delta_ts>2020-07-24 20:52:52 -0700</delta_ts>
            <desc>Test another theory</desc>
            <filename>bug-214688-20200724201106.patch</filename>
            <type>text/plain</type>
            <size>6472</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0ODY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDc5Y2JiOTA5NjNmZGUzNzNk
NTljNTExZTRiYzU1ZmM0MDAyYzE4ZjcuLmU5ZDZlNDgzNmMyN2Q0ZDczZDNmYzU0ZmYwYTJjYjM3
OWM4NjliODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMjAtMDctMjQgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTiAocjI2
NDY5MCk6IFsgaU9TIHdrMiBdIGVkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGlzIGEgZmxha3kgZmFpbHVyZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0Njg4CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS82NTk5MzY4Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBZGQgbW9yZSBsb2dnaW5nIHRvIHRyeSBhbmQgc2VlIHdoeSB0aGlzIHRl
c3QgaXMgZmFpbGluZyBvbiBzb21lIHBvc3QtY29tbWl0IGlPUyBib3RzLiBJbiBwYXJ0aWN1bGFy
LCB0aGVzZSBsb2dzCisgICAgICAgIHNob3VsZCB0ZXN0IGEgdGhlb3J5IHRoYXQgaXQncyBwb3Nz
aWJsZSBmb3IgYFVJU2NyaXB0Q29udHJvbGxlcklPUzo6c2luZ2xlVGFwQXRQb2ludFdpdGhNb2Rp
ZmllcnNgIHRvIHRyeSBhbmQKKyAgICAgICAgc3ludGhlc2l6ZSBhbmQgc2VuZCBISUQgZXZlbnRz
IGZvciB0aGUgdGFwIGJlZm9yZSBHcmFwaGljc1NlcnZpY2VzIGhhcyByZWdpc3RlcmVkIHRoZSBm
YWN0IHRoYXQgYSBtb2RpZmllciBrZXkKKyAgICAgICAgaXMgYmVpbmcgaGVsZCwgd2hpY2ggd291
bGQgbGVhZCB0byBhIHJlZ3VsYXIgdGFwIGluc3RlYWQgb2YgYSBzaGlmdC10YXAgaW4gdGhpcyB0
ZXN0LgorCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24u
bW06CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX3NpbmdsZVRhcElkZW50aWZpZWQ6XSk6Cisg
ICAgICAgICgtW1dLQ29udGVudFZpZXcgX3NpbmdsZVRhcFJlY29nbml6ZWQ6XSk6CisgICAgICAg
ICogVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW06CisgICAgICAgIChXZWJLaXQ6Oldl
YlBhZ2VQcm94eTo6Y29tbWl0UG90ZW50aWFsVGFwKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmhhbmRs
ZVN5bnRoZXRpY0NsaWNrKToKKwogMjAyMC0wNy0yNCAgVGFkZXUgWmFnYWxsbyAgPHR6YWdhbGxv
QGFwcGxlLmNvbT4KIAogICAgICAgICBXS1N0cmluZ0dldE1heGltdW1VVEY4Q1N0cmluZ1NpemUg
c2hvdWxkIGNhc3QgYmVmb3JlIGFyaXRobWV0aWMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0gYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCmluZGV4IGIwNDFjMjky
OTFlMmEzYzI4Njc2MzY5YjUwMGNmYzFjNzI5NjVkNmUuLjMzNDhiYzdiYjAzYjVjODk0ZmQxY2Ji
ZDlmYWI1MzgxNDUxM2QwOWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lv
cy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQpAQCAtMjczNiw2ICsyNzM2LDcgQEAg
LSAodm9pZClfc2luZ2xlVGFwSWRlbnRpZmllZDooVUlUYXBHZXN0dXJlUmVjb2duaXplciAqKWdl
c3R1cmVSZWNvZ25pemVyCiAgICAgaWYgKHNob3VsZFJlcXVlc3RNYWduaWZpY2F0aW9uSW5mb3Jt
YXRpb24pCiAgICAgICAgIFJFTEVBU0VfTE9HKFZpZXdHZXN0dXJlcywgIlNpbmdsZSB0YXAgaWRl
bnRpZmllZC4gUmVxdWVzdCBkZXRhaWxzIG9uIHBvdGVudGlhbCB6b29tLiAoJXApIiwgc2VsZik7
CiAKKyAgICBXVEZMb2dBbHdheXMoIiVzIC0gbW9kaWZpZXIgZmxhZ3M6IDB4JTAyeCIsIF9fUFJF
VFRZX0ZVTkNUSU9OX18sIFdlYkV2ZW50Lm1vZGlmaWVyRmxhZ3MpOwogICAgIF9wYWdlLT5wb3Rl
bnRpYWxUYXBBdFBvc2l0aW9uKGdlc3R1cmVSZWNvZ25pemVyLmxvY2F0aW9uLCBzaG91bGRSZXF1
ZXN0TWFnbmlmaWNhdGlvbkluZm9ybWF0aW9uLCArK19sYXRlc3RUYXBJRCk7CiAgICAgX3BvdGVu
dGlhbFRhcEluUHJvZ3Jlc3MgPSBZRVM7CiAgICAgX2lzVGFwSGlnaGxpZ2h0SURWYWxpZCA9IFlF
UzsKQEAgLTI4MjgsNiArMjgyOSw3IEBAIC0gKHZvaWQpX3NpbmdsZVRhcFJlY29nbml6ZWQ6KFVJ
VGFwR2VzdHVyZVJlY29nbml6ZXIgKilnZXN0dXJlUmVjb2duaXplcgogICAgICAgICBwb2ludGVy
SWQgPSBbc2luZ2xlVGFwVG91Y2hJZGVudGlmaWVyIHVuc2lnbmVkSW50VmFsdWVdOwogICAgICAg
ICBtX2NvbW1pdFBvdGVudGlhbFRhcFBvaW50ZXJJZCA9IHBvaW50ZXJJZDsKICAgICB9CisgICAg
V1RGTG9nQWx3YXlzKCIlcyAtIG1vZGlmaWVyIGZsYWdzOiAweCUwMngiLCBfX1BSRVRUWV9GVU5D
VElPTl9fLCBXZWJFdmVudC5tb2RpZmllckZsYWdzKTsKICAgICBfcGFnZS0+Y29tbWl0UG90ZW50
aWFsVGFwKFdlYktpdDo6d2ViRXZlbnRNb2RpZmllckZsYWdzKGdlc3R1cmVSZWNvZ25pemVyTW9k
aWZpZXJGbGFncyhnZXN0dXJlUmVjb2duaXplcikpLCBfbGF5ZXJUcmVlVHJhbnNhY3Rpb25JZEF0
TGFzdEludGVyYWN0aW9uU3RhcnQsIHBvaW50ZXJJZCk7CiAKICAgICBpZiAoIV9pc0V4cGVjdGlu
Z0Zhc3RTaW5nbGVUYXBDb21taXQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dl
YlBhZ2VQcm94eUlPUy5tbQppbmRleCA3MjRiODUzNzk0Y2YzN2YyNDUzZDI1MDUxZmMyODc0OTNh
MzM5MjE5Li45ODhkYjEzZDYyNTAxYmRmYjNjZWNjMDQxZTQyYjg5NDk2NzM2Nzg2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0KQEAgLTg5NSw2
ICs4OTUsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6cG90ZW50aWFsVGFwQXRQb3NpdGlvbihjb25z
dCBXZWJDb3JlOjpGbG9hdFBvaW50JiBwb3NpdGlvbiwgYgogCiB2b2lkIFdlYlBhZ2VQcm94eTo6
Y29tbWl0UG90ZW50aWFsVGFwKE9wdGlvblNldDxXZWJFdmVudDo6TW9kaWZpZXI+IG1vZGlmaWVy
cywgVHJhbnNhY3Rpb25JRCBsYXllclRyZWVUcmFuc2FjdGlvbklkQXRMYXN0VG91Y2hTdGFydCwg
V2ViQ29yZTo6UG9pbnRlcklEIHBvaW50ZXJJZCkKIHsKKyAgICBXVEZMb2dBbHdheXMoIkNvbW1p
dHRpbmcgcG90ZW50aWFsIHRhcCB3aXRoIG1vZGlmaWVyczogMHglMDJ4IiwgbW9kaWZpZXJzLnRv
UmF3KCkpOwogICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkNvbW1pdFBvdGVudGlhbFRhcCht
b2RpZmllcnMsIGxheWVyVHJlZVRyYW5zYWN0aW9uSWRBdExhc3RUb3VjaFN0YXJ0LCBwb2ludGVy
SWQpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
aW9zL1dlYlBhZ2VJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3Mv
V2ViUGFnZUlPUy5tbQppbmRleCA2YjM1NWQxYTZkMTk3M2FiYmI5ODc0ZDBiNDdhYjhlNDI4NDEy
Mzk0Li5jYTQzZDg2MTNhYjYzZTkyODJhZWEyZDQzN2Y3MTY1YWNlYTE3ZjU0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQpAQCAt
NzE4LDYgKzcxOCw3IEBAIHZvaWQgV2ViUGFnZTo6Z2VuZXJhdGVTeW50aGV0aWNFZGl0aW5nQ29t
bWFuZChTeW50aGV0aWNFZGl0aW5nQ29tbWFuZFR5cGUgY29tbWFuCiAKIHZvaWQgV2ViUGFnZTo6
aGFuZGxlU3ludGhldGljQ2xpY2soTm9kZSYgbm9kZVJlc3BvbmRpbmdUb0NsaWNrLCBjb25zdCBX
ZWJDb3JlOjpGbG9hdFBvaW50JiBsb2NhdGlvbiwgT3B0aW9uU2V0PFdlYkV2ZW50OjpNb2RpZmll
cj4gbW9kaWZpZXJzLCBXZWJDb3JlOjpQb2ludGVySUQgcG9pbnRlcklkKQogeworICAgIFdURkxv
Z0Fsd2F5cygiSGFuZGxpbmcgc3ludGhldGljIGNsaWNrIGF0ICglLjBmLCAlLjBmKSB3aXRoIG1v
ZGlmaWVyczogMHglMDJ4IiwgbG9jYXRpb24ueCgpLCBsb2NhdGlvbi55KCksIG1vZGlmaWVycy50
b1JhdygpKTsKICAgICBhdXRvJiByZXNwb25kaW5nRG9jdW1lbnQgPSBub2RlUmVzcG9uZGluZ1Rv
Q2xpY2suZG9jdW1lbnQoKTsKICAgICBhdXRvIGlzRmlyc3RTeW50aGV0aWNDbGlja09uUGFnZSA9
ICFtX2hhc0hhbmRsZWRTeW50aGV0aWNDbGljazsKICAgICBtX2hhc0hhbmRsZWRTeW50aGV0aWND
bGljayA9IHRydWU7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VM
b2cKaW5kZXggN2FmZTlmY2YxYzQ5ZDA4MDIyY2RmZGUxMjE2YjFkZTdhZTVhY2ZhZS4uYTQ5YTI5
MzgxNmI0ZGI3ZDBkOWJhNjgzOTFjMzUzNTBiODcwMDA3NiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hh
bmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIwLTA3LTI0
ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JF
U1NJT04gKHIyNjQ2OTApOiBbIGlPUyB3azIgXSBlZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGlj
ay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBpcyBhIGZsYWt5IGZhaWx1cmUKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNDY4OAorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vNjU5OTM2ODM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL2lvcy9VSVNjcmlwdENv
bnRyb2xsZXJJT1MubW06CisgICAgICAgIChXVFI6OlVJU2NyaXB0Q29udHJvbGxlcklPUzo6c2lu
Z2xlVGFwQXRQb2ludFdpdGhNb2RpZmllcnMpOgorCiAyMDIwLTA3LTI0ICBUYWRldSBaYWdhbGxv
ICA8dHphZ2FsbG9AYXBwbGUuY29tPgogCiAgICAgICAgIFdLU3RyaW5nR2V0TWF4aW11bVVURjhD
U3RyaW5nU2l6ZSBzaG91bGQgY2FzdCBiZWZvcmUgYXJpdGhtZXRpYwpkaWZmIC0tZ2l0IGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlTY3JpcHRDb250cm9sbGVySU9TLm1tIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlTY3JpcHRDb250cm9sbGVySU9TLm1tCmluZGV4IDdmYWVl
NjQ0NWE3MGJlYTAxY2U0NDEyM2I3NzE2ODgzMDYwMmQzYjYuLjU3NzljNTA3YTFiNTMwYmQ5OTQ4
NGE3N2E4ZjAxY2VlNzBiZGY5Y2QgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
aW9zL1VJU2NyaXB0Q29udHJvbGxlcklPUy5tbQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L2lvcy9VSVNjcmlwdENvbnRyb2xsZXJJT1MubW0KQEAgLTMwMCw5ICszMDAsMTUgQEAgdm9pZCBV
SVNjcmlwdENvbnRyb2xsZXJJT1M6OnNpbmdsZVRhcEF0UG9pbnRXaXRoTW9kaWZpZXJzKFdlYkNv
cmU6OkZsb2F0UG9pbnQgbG8KIAogICAgIHdhaXRGb3JTaW5nbGVUYXBUb1Jlc2V0KCk7CiAKKyAg
ICBpZiAoIW1vZGlmaWVyRmxhZ3MuaXNFbXB0eSgpKQorICAgICAgICBXVEZMb2dBbHdheXMoIlN5
bnRoZXNpemluZyBtb2RpZmllciBrZXkgZXZlbnRzLiIpOworCiAgICAgZm9yIChhdXRvJiBtb2Rp
ZmllckZsYWcgOiBtb2RpZmllckZsYWdzKQogICAgICAgICBbW0hJREV2ZW50R2VuZXJhdG9yIHNo
YXJlZEhJREV2ZW50R2VuZXJhdG9yXSBrZXlEb3duOm1vZGlmaWVyRmxhZ107CiAKKyAgICBpZiAo
IW1vZGlmaWVyRmxhZ3MuaXNFbXB0eSgpKQorICAgICAgICBXVEZMb2dBbHdheXMoIlN5bnRoZXNp
emluZyB0YXAuIik7CisKICAgICBbW0hJREV2ZW50R2VuZXJhdG9yIHNoYXJlZEhJREV2ZW50R2Vu
ZXJhdG9yXSB0YXA6Z2xvYmFsVG9Db250ZW50Q29vcmRpbmF0ZXMod2ViVmlldygpLCBsb2NhdGlv
bi54KCksIGxvY2F0aW9uLnkoKSkgY29tcGxldGlvbkJsb2NrOlt0aGlzLCBwcm90ZWN0ZWRUaGlz
ID0gbWFrZVJlZlB0cigqdGhpcyksIG1vZGlmaWVyRmxhZ3MgPSBXVEZNb3ZlKG1vZGlmaWVyRmxh
Z3MpLCBibG9jayA9IFdURk1vdmUoYmxvY2spXSAoKSBtdXRhYmxlIHsKICAgICAgICAgaWYgKCFt
X2NvbnRleHQpCiAgICAgICAgICAgICByZXR1cm47Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405231</attachid>
            <date>2020-07-25 12:29:35 -0700</date>
            <delta_ts>2020-07-25 13:02:29 -0700</delta_ts>
            <desc>Speculative fix #2</desc>
            <filename>bug-214688-20200725122935.patch</filename>
            <type>text/plain</type>
            <size>4048</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0ODg4CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYjE4OGJmYWY3ODI4YWMxMzkwM2U3MzQyNWVjMjNlMzJi
MmM4MWNiOS4uOTU5MzQxMjZkMmQ4MTEyODQ3MjIzYWMxZmYwMjdjYTcyZjExZTg1ZSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIx
IEBACisyMDIwLTA3LTI1ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgor
CisgICAgICAgIFJFR1JFU1NJT04gKHIyNjQ2OTApOiBbIGlPUyB3azIgXSBlZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBpcyBhIGZs
YWt5IGZhaWx1cmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIxNDY4OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjU5OTM2ODM+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQXR0ZW1wdCBhIHNlY29uZCBz
cGVjdWxhdGl2ZSBmaXggdGhhdCB3YWl0cyBmb3IgdGhlIGtleWRvd24gSElEIGV2ZW50IHRvIGJl
IGRlcXVldWVkIGFuZCBoYW5kbGVkIGJ5CisgICAgICAgIGBVSUFwcGxpY2F0aW9uYCB3aGVuIHNp
bXVsYXRpbmcgYSBzaGlmdC10YXAsIHRvIGd1YXJhbnRlZSB0aGF0IHRoZSBzeW50aGV0aWMgY2xp
Y2sgZ2VzdHVyZSByZWNvZ25pemVyIGhhcworICAgICAgICB1cC10by1kYXRlIG1vZGlmaWVyIGZs
YWdzIHVwb24gZGlzcGF0Y2hpbmcgdGhlIHN5bnRoZXRpYyBISUQgZXZlbnRzIG9uIHRhcC4KKwor
ICAgICAgICBJdCdzIHVuY2xlYXIgaG93IG9yIHdoeSB0aGUgY3VycmVudCBpbXBsZW1lbnRhdGlv
biBtaWdodCByZXN1bHQgaW4gdGhlIGdlc3R1cmUgcmVjb2duaXplciBub3QgYmVpbmcgdXBkYXRl
ZCB3aXRoCisgICAgICAgIHRoZSByaWdodCBtb2RpZmllciBmbGFncywgc2luY2UgZXZlbnRzIGlu
IHRoZSBISUQgZXZlbnQgcXVldWUgc2hvdWxkIGJlIGhhbmRsZWQgaW4gb3JkZXIuCisKKyAgICAg
ICAgKiBXZWJLaXRUZXN0UnVubmVyL2lvcy9VSVNjcmlwdENvbnRyb2xsZXJJT1MubW06CisgICAg
ICAgIChXVFI6OlVJU2NyaXB0Q29udHJvbGxlcklPUzo6c2luZ2xlVGFwQXRQb2ludFdpdGhNb2Rp
ZmllcnMpOgorCiAyMDIwLTA3LTI0ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUu
Y29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIyNjQ2OTApOiBbIGlPUyB3azIgXSBlZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBp
cyBhIGZsYWt5IGZhaWx1cmUKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9z
L1VJU2NyaXB0Q29udHJvbGxlcklPUy5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1VJ
U2NyaXB0Q29udHJvbGxlcklPUy5tbQppbmRleCA1Nzc5YzUwN2ExYjUzMGJkOTk0ODRhNzdhOGYw
MWNlZTcwYmRmOWNkLi4yZWY4OWUyZmZmMWM0MDRjNDIyMjcwZThmZDlmNTA3M2E3NmU5NDJlIDEw
MDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9VSVNjcmlwdENvbnRyb2xsZXJJ
T1MubW0KKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlTY3JpcHRDb250cm9sbGVy
SU9TLm1tCkBAIC0zMDEsMjMgKzMwMSwzNCBAQCB2b2lkIFVJU2NyaXB0Q29udHJvbGxlcklPUzo6
c2luZ2xlVGFwQXRQb2ludFdpdGhNb2RpZmllcnMoV2ViQ29yZTo6RmxvYXRQb2ludCBsbwogICAg
IHdhaXRGb3JTaW5nbGVUYXBUb1Jlc2V0KCk7CiAKICAgICBpZiAoIW1vZGlmaWVyRmxhZ3MuaXNF
bXB0eSgpKQotICAgICAgICBXVEZMb2dBbHdheXMoIlN5bnRoZXNpemluZyBtb2RpZmllciBrZXkg
ZXZlbnRzLiIpOworICAgICAgICBXVEZMb2dBbHdheXMoIlN5bnRoZXNpemluZyBtb2RpZmllciBr
ZXlkb3duIGV2ZW50cy4iKTsKIAogICAgIGZvciAoYXV0byYgbW9kaWZpZXJGbGFnIDogbW9kaWZp
ZXJGbGFncykKICAgICAgICAgW1tISURFdmVudEdlbmVyYXRvciBzaGFyZWRISURFdmVudEdlbmVy
YXRvcl0ga2V5RG93bjptb2RpZmllckZsYWddOwogCi0gICAgaWYgKCFtb2RpZmllckZsYWdzLmlz
RW1wdHkoKSkKLSAgICAgICAgV1RGTG9nQWx3YXlzKCJTeW50aGVzaXppbmcgdGFwLiIpOworICAg
IGF1dG8gZGlzcGF0Y2hUYXAgPSBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMp
LCBtb2RpZmllckZsYWdzID0gV1RGTW92ZShtb2RpZmllckZsYWdzKSwgYmxvY2sgPSBXVEZNb3Zl
KGJsb2NrKSwgbG9jYXRpb25dKCkgbXV0YWJsZSB7CisgICAgICAgIGlmICghbW9kaWZpZXJGbGFn
cy5pc0VtcHR5KCkpCisgICAgICAgICAgICBXVEZMb2dBbHdheXMoIlN5bnRoZXNpemluZyB0YXAu
Iik7CiAKLSAgICBbW0hJREV2ZW50R2VuZXJhdG9yIHNoYXJlZEhJREV2ZW50R2VuZXJhdG9yXSB0
YXA6Z2xvYmFsVG9Db250ZW50Q29vcmRpbmF0ZXMod2ViVmlldygpLCBsb2NhdGlvbi54KCksIGxv
Y2F0aW9uLnkoKSkgY29tcGxldGlvbkJsb2NrOlt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJl
ZlB0cigqdGhpcyksIG1vZGlmaWVyRmxhZ3MgPSBXVEZNb3ZlKG1vZGlmaWVyRmxhZ3MpLCBibG9j
ayA9IFdURk1vdmUoYmxvY2spXSAoKSBtdXRhYmxlIHsKLSAgICAgICAgaWYgKCFtX2NvbnRleHQp
Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIGZvciAoc2l6ZV90IGkgPSBtb2RpZmllckZs
YWdzLnNpemUoKTsgaTsgKSB7Ci0gICAgICAgICAgICAtLWk7Ci0gICAgICAgICAgICBbW0hJREV2
ZW50R2VuZXJhdG9yIHNoYXJlZEhJREV2ZW50R2VuZXJhdG9yXSBrZXlVcDptb2RpZmllckZsYWdz
W2ldXTsKLSAgICAgICAgfQotICAgICAgICBbW0hJREV2ZW50R2VuZXJhdG9yIHNoYXJlZEhJREV2
ZW50R2VuZXJhdG9yXSBzZW5kTWFya2VySElERXZlbnRXaXRoQ29tcGxldGlvbkJsb2NrOmJsb2Nr
LmdldCgpXTsKLSAgICB9XTsKKyAgICAgICAgW1tISURFdmVudEdlbmVyYXRvciBzaGFyZWRISURF
dmVudEdlbmVyYXRvcl0gdGFwOmdsb2JhbFRvQ29udGVudENvb3JkaW5hdGVzKHdlYlZpZXcoKSwg
bG9jYXRpb24ueCgpLCBsb2NhdGlvbi55KCkpIGNvbXBsZXRpb25CbG9jazpbcHJvdGVjdGVkVGhp
cywgbW9kaWZpZXJGbGFncyA9IFdURk1vdmUobW9kaWZpZXJGbGFncyksIGJsb2NrID0gV1RGTW92
ZShibG9jayldICgpIG11dGFibGUgeworICAgICAgICAgICAgaWYgKCFwcm90ZWN0ZWRUaGlzLT5t
X2NvbnRleHQpCisgICAgICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgICAgICBpZiAoIW1v
ZGlmaWVyRmxhZ3MuaXNFbXB0eSgpKQorICAgICAgICAgICAgICAgIFdURkxvZ0Fsd2F5cygiU3lu
dGhlc2l6aW5nIG1vZGlmaWVyIGtleXVwIGV2ZW50cy4iKTsKKworICAgICAgICAgICAgZm9yIChz
aXplX3QgaSA9IG1vZGlmaWVyRmxhZ3Muc2l6ZSgpOyBpOyApIHsKKyAgICAgICAgICAgICAgICAt
LWk7CisgICAgICAgICAgICAgICAgW1tISURFdmVudEdlbmVyYXRvciBzaGFyZWRISURFdmVudEdl
bmVyYXRvcl0ga2V5VXA6bW9kaWZpZXJGbGFnc1tpXV07CisgICAgICAgICAgICB9CisgICAgICAg
ICAgICBbW0hJREV2ZW50R2VuZXJhdG9yIHNoYXJlZEhJREV2ZW50R2VuZXJhdG9yXSBzZW5kTWFy
a2VySElERXZlbnRXaXRoQ29tcGxldGlvbkJsb2NrOmJsb2NrLmdldCgpXTsKKyAgICAgICAgfV07
CisgICAgfTsKKworICAgIGlmIChtb2RpZmllckZsYWdzLmlzRW1wdHkoKSkKKyAgICAgICAgZGlz
cGF0Y2hUYXAoKTsKKyAgICBlbHNlCisgICAgICAgIFtbSElERXZlbnRHZW5lcmF0b3Igc2hhcmVk
SElERXZlbnRHZW5lcmF0b3JdIHNlbmRNYXJrZXJISURFdmVudFdpdGhDb21wbGV0aW9uQmxvY2s6
ZGlzcGF0Y2hUYXBdOwogfQogCiB2b2lkIFVJU2NyaXB0Q29udHJvbGxlcklPUzo6ZG91YmxlVGFw
QXRQb2ludChsb25nIHgsIGxvbmcgeSwgZmxvYXQgZGVsYXksIEpTVmFsdWVSZWYgY2FsbGJhY2sp
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405234</attachid>
            <date>2020-07-25 16:33:08 -0700</date>
            <delta_ts>2020-07-25 16:37:15 -0700</delta_ts>
            <desc>Test yet another theory</desc>
            <filename>bug-214688-20200725163307.patch</filename>
            <type>text/plain</type>
            <size>8451</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0ODkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBiNWY2Nzkw
NzhlYmIwYWMwNjA4ODIyMjUwNWY3NmZhZDVhYWIwNzE1Li41Njc0NWFiZjY0MTljYmEwNzAwODI2
ZTA5OWVjNzEzZDYwZDVmYzk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAor
MjAyMC0wNy0yNSAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAg
ICAgICBSRUdSRVNTSU9OIChyMjY0NjkwKTogWyBpT1Mgd2syIF0gZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgaXMgYSBmbGFreSBm
YWlsdXJlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MTQ2ODgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY1OTkzNjgzPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGFsL3NwaS9pb3MvR3JhcGhpY3NT
ZXJ2aWNlc1NQSS5oOgorCiAyMDIwLTA3LTI0ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxl
LmNvbT4KIAogICAgICAgICBEZWNsYXJlIHR3byBtb3JlIHRoaW5ncyB0byBmaXggdGhlIGJ1aWxk
IGFmdGVyIHIyNjQ4NzQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZDZmM2Q4NmQ5ZThmNjc2N2M0NjA2YzBmNmYxOTY5
Y2U1NGVmNjAzMS4uN2FkMDkwMzhjNDEzYWVkNGM1ZWQ5NDhmZWYyM2M1ZDBlMmZhZTNhMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMC0wNy0yNSAgV2Vuc29uIEhzaWVoICA8d2Vuc29u
X2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OIChyMjY0NjkwKTogWyBpT1Mg
d2syIF0gZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLmh0bWwgaXMgYSBmbGFreSBmYWlsdXJlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQ2ODgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY1
OTkzNjgzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZCBhbiBTUEkgZGVjbGFyYXRpb24gb24gVUlBcHBsaWNhdGlvbi4KKworICAgICAgICAqIFBs
YXRmb3JtL3NwaS9pb3MvVUlLaXRTUEkuaDoKKwogMjAyMC0wNy0yNCAgV2Vuc29uIEhzaWVoICA8
d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChyMjY0NjkwKTog
WyBpT1Mgd2syIF0gZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLmh0bWwgaXMgYSBmbGFreSBmYWlsdXJlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9QQUwvcGFsL3NwaS9pb3MvR3JhcGhpY3NTZXJ2aWNlc1NQSS5oIGIvU291cmNlL1dl
YkNvcmUvUEFML3BhbC9zcGkvaW9zL0dyYXBoaWNzU2VydmljZXNTUEkuaAppbmRleCBlODk5ZTIx
ZjRjYTcyMDNiOGRmMGYwYTkyOWFiMzY2NTJkYmU1OTA5Li45NTQzY2E4YTdkOTYxZWY4ZDQ0YjY3
NmQ4N2U0MTNjZjc0NmJmOTk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3Nw
aS9pb3MvR3JhcGhpY3NTZXJ2aWNlc1NQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwv
c3BpL2lvcy9HcmFwaGljc1NlcnZpY2VzU1BJLmgKQEAgLTQ1LDYgKzQ1LDcgQEAgdm9pZCBHU0Zv
bnRQdXJnZUZvbnRDYWNoZSh2b2lkKTsKIAogdHlwZWRlZiBzdHJ1Y3QgX19HU0tleWJvYXJkKiBH
U0tleWJvYXJkUmVmOwogdWludDMyX3QgR1NLZXlib2FyZEdldE1vZGlmaWVyU3RhdGUoR1NLZXli
b2FyZFJlZik7Cit1aW50MzJfdCBHU0tleWJvYXJkR2V0TGl2ZU1vZGlmaWVyU3RhdGUoR1NLZXli
b2FyZFJlZik7CiBCb29sZWFuIEdTRXZlbnRJc0hhcmR3YXJlS2V5Ym9hcmRBdHRhY2hlZCgpOwog
dm9pZCBHU0V2ZW50U2V0SGFyZHdhcmVLZXlib2FyZEF0dGFjaGVkKEJvb2xlYW4gYXR0YWNoZWQs
IHVpbnQ4X3QgY291bnRyeSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0v
c3BpL2lvcy9VSUtpdFNQSS5oIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL1VJS2l0
U1BJLmgKaW5kZXggMTc2NzUwY2ZlNjEzZjg0YWQ0MjQ1MTE5ZGNjZWM4NjE0YjQ3YWEzMy4uZjM3
YWE0ZWJlNGNmNWQ3ZDgwZTJmNjg3YTc0ODZhOTkzMWEyYTg0OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmgKKysrIGIvU291cmNlL1dlYktpdC9Q
bGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmgKQEAgLTE5NCw2ICsxOTQsNyBAQCBXVEZfRVhURVJO
X0NfRU5ECiAtIChCT09MKWlzU3VzcGVuZGVkVW5kZXJMb2NrOwogLSAodm9pZClfZW5xdWV1ZUhJ
REV2ZW50OihJT0hJREV2ZW50UmVmKWV2ZW50OwogLSAodm9pZClfaGFuZGxlSElERXZlbnQ6KElP
SElERXZlbnRSZWYpZXZlbnQ7CistICh2b2lkKWhhbmRsZUtleUhJREV2ZW50OihJT0hJREV2ZW50
UmVmKWV2ZW50OwogLSAodm9pZCloYW5kbGVLZXlVSUV2ZW50OihVSUV2ZW50ICopZXZlbnQ7CiAt
IChCT09MKV9hcHBBZG9wdHNVSVNjZW5lTGlmZWN5Y2xlOwogQGVuZApAQCAtMTM3Niw2ICsxMzc3
LDEwIEBAIHR5cGVkZWYgTlNfRU5VTShOU1VJbnRlZ2VyLCBfVUlDb250ZXh0TWVudUxheW91dCkg
ewogQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0QmFja2xpZ2h0TGV2ZWw6KSBmbG9h
dCBfYmFja2xpZ2h0TGV2ZWw7CiBAZW5kCiAKK0BpbnRlcmZhY2UgVUlBcHBsaWNhdGlvbiAoSVBJ
KQorLSAoR1NLZXlib2FyZFJlZilfaGFyZHdhcmVLZXlib2FyZDooQk9PTCljcmVhdGVJZk5lZWRl
ZDsKK0BlbmQKKwogV1RGX0VYVEVSTl9DX0JFR0lOCiAKIEJPT0wgVUlLZXlib2FyZEVuYWJsZWRJ
bnB1dE1vZGVzQWxsb3dPbmVUb01hbnlTaG9ydGN1dHModm9pZCk7CmRpZmYgLS1naXQgYS9Ub29s
cy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZTQ0YmZlNzUxMDhmZmIyYTYzODYz
OTUwM2NlNWY0MjdmZjgyYzZjZS4uNjU0Mjk4YjkxNWNkNWQ1NGViZjdiY2ZjNjI4NmY0YjNiZGY0
ZTA2ZSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE3IEBACisyMDIwLTA3LTI1ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhA
YXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04gKHIyNjQ2OTApOiBbIGlPUyB3azIgXSBl
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24u
aHRtbCBpcyBhIGZsYWt5IGZhaWx1cmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIxNDY4OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjU5OTM2ODM+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ29udGlu
dWUgdG8gYWRkIGxvZ2dpbmcgaW4gYW4gYXR0ZW1wdCB0byBkZWJ1ZyB0aGlzIGZsYWt5IHRlc3Qu
CisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL2lvcy9tYWluSU9TLm1tOgorICAgICAgICAo
LVtXZWJLaXRUZXN0UnVubmVyQXBwIGhhbmRsZUtleUhJREV2ZW50Ol0pOgorICAgICAgICAoLVtX
ZWJLaXRUZXN0UnVubmVyQXBwIF9oYW5kbGVISURFdmVudDpdKToKKwogMjAyMC0wNy0yNSAgV2Vu
c29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9O
IChyMjY0NjkwKTogWyBpT1Mgd2syIF0gZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5j
bHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgaXMgYSBmbGFreSBmYWlsdXJlCmRpZmYgLS1n
aXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9tYWluSU9TLm1tIGIvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9pb3MvbWFpbklPUy5tbQppbmRleCA4MTFjYmRjMjAzZDQyOTFlM2VhOWVkMDM4
ODY3YmEyNmQyOGRlNTg2Li40Zjc2OGU0OWE5NjFhYWMyM2NhY2QxYzFlYzY0MjQzYTU5MWIwNWYz
IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9tYWluSU9TLm1tCisrKyBi
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL21haW5JT1MubW0KQEAgLTI4LDYgKzI4LDcgQEAK
ICNpbXBvcnQgIkhJREV2ZW50R2VuZXJhdG9yLmgiCiAjaW1wb3J0ICJUZXN0Q29udHJvbGxlci5o
IgogI2ltcG9ydCAiVUlLaXRTUEkuaCIKKyNpbXBvcnQgPHBhbC9zcGkvaW9zL0dyYXBoaWNzU2Vy
dmljZXNTUEkuaD4KIAogc3RhdGljIGludCBfYXJnYzsKIHN0YXRpYyBjb25zdCBjaGFyICoqX2Fy
Z3Y7CkBAIC01NCw4ICs1NSwyMyBAQCAtICh2b2lkKWFwcGxpY2F0aW9uRGlkRW50ZXJCYWNrZ3Jv
dW5kOihVSUFwcGxpY2F0aW9uICopYXBwbGljYXRpb24KICAgICBSRUxFQVNFX0FTU0VSVF9OT1Rf
UkVBQ0hFRCgpOwogfQogCistICh2b2lkKWhhbmRsZUtleUhJREV2ZW50OihJT0hJREV2ZW50UmVm
KWV2ZW50Cit7CisgICAgeworICAgICAgICBhdXRvIGtleWJvYXJkID0gW3NlbGYgX2hhcmR3YXJl
S2V5Ym9hcmQ6Tk9dOworICAgICAgICBXVEZMb2dBbHdheXMoIihCZWZvcmUpOiBrZXlib2FyZCAl
cCBoYXMgbW9kaWZpZXIgc3RhdGU6IDB4JTAyeCIsIGtleWJvYXJkLCBHU0tleWJvYXJkR2V0TGl2
ZU1vZGlmaWVyU3RhdGUoa2V5Ym9hcmQpKTsKKyAgICB9CisgICAgW3N1cGVyIGhhbmRsZUtleUhJ
REV2ZW50OmV2ZW50XTsKKyAgICB7CisgICAgICAgIGF1dG8ga2V5Ym9hcmQgPSBbc2VsZiBfaGFy
ZHdhcmVLZXlib2FyZDpOT107CisgICAgICAgIFdURkxvZ0Fsd2F5cygiKEFmdGVyKToga2V5Ym9h
cmQgJXAgaGFzIG1vZGlmaWVyIHN0YXRlOiAweCUwMngiLCBrZXlib2FyZCwgR1NLZXlib2FyZEdl
dExpdmVNb2RpZmllclN0YXRlKGtleWJvYXJkKSk7CisgICAgfQorfQorCiAtICh2b2lkKV9oYW5k
bGVISURFdmVudDooSU9ISURFdmVudFJlZilldmVudAogeworICAgIFtzdXBlciBfaGFuZGxlSElE
RXZlbnQ6ZXZlbnRdOworCiAgICAgW1tISURFdmVudEdlbmVyYXRvciBzaGFyZWRISURFdmVudEdl
bmVyYXRvcl0gbWFya2VyRXZlbnRSZWNlaXZlZDpldmVudF07CiB9CiAKZGlmZiAtLWdpdCBhL1dl
YktpdExpYnJhcmllcy9DaGFuZ2VMb2cgYi9XZWJLaXRMaWJyYXJpZXMvQ2hhbmdlTG9nCmluZGV4
IGE2YjMzN2MwYTk5ZjZlMzI0MzZkOGYzYmM3NWFiZWQyMjFhOGViMmEuLmMzMWRlN2E1ODhhZjE1
NTNkY2Q4M2MxM2IzZjY0Zjc4NWM5YzEzMDcgMTAwNjQ0Ci0tLSBhL1dlYktpdExpYnJhcmllcy9D
aGFuZ2VMb2cKKysrIGIvV2ViS2l0TGlicmFyaWVzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBA
CisyMDIwLTA3LTI1ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisg
ICAgICAgIFJFR1JFU1NJT04gKHIyNjQ2OTApOiBbIGlPUyB3azIgXSBlZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBpcyBhIGZsYWt5
IGZhaWx1cmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIxNDY4OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjU5OTM2ODM+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRGVjbGFyZSB0aGUgc3ltYm9sIGZv
ciBgR1NLZXlib2FyZEdldExpdmVNb2RpZmllclN0YXRlKClgLCBmb3Igbm9uLWludGVybmFsIGJ1
aWxkcy4KKworICAgICAgICAqIFdlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy9pT1MvMTMvR3Jh
cGhpY3NTZXJ2aWNlcy5mcmFtZXdvcmsvR3JhcGhpY3NTZXJ2aWNlcy50YmQ6CisgICAgICAgICog
V2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL2lPUy8xNC9HcmFwaGljc1NlcnZpY2VzLmZyYW1l
d29yay9HcmFwaGljc1NlcnZpY2VzLnRiZDoKKwogMjAyMC0wNy0yMyAgQnJhZHkgRWlkc29uICA8
YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIEdhbWVwYWQgdGVzdHMgdGhhdCBleGVy
Y2lzZSB0aGUgbmF0aXZlIGZyYW1ld29ya3MKZGlmZiAtLWdpdCBhL1dlYktpdExpYnJhcmllcy9X
ZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMvaU9TLzEzL0dyYXBoaWNzU2VydmljZXMuZnJhbWV3
b3JrL0dyYXBoaWNzU2VydmljZXMudGJkIGIvV2ViS2l0TGlicmFyaWVzL1dlYktpdFByaXZhdGVG
cmFtZXdvcmtTdHVicy9pT1MvMTMvR3JhcGhpY3NTZXJ2aWNlcy5mcmFtZXdvcmsvR3JhcGhpY3NT
ZXJ2aWNlcy50YmQKaW5kZXggZmYyMDRlMzFhNTAyNDIxNTI4ZDQxODIwYWQyMmM5YmExNmY3ZmJi
OC4uNzY1OTAwMTQ3ZDYwZmQzNDJlYmMyOTljMGE0N2QwODJkYWJjYmVjZiAxMDA2NDQKLS0tIGEv
V2ViS2l0TGlicmFyaWVzL1dlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy9pT1MvMTMvR3JhcGhp
Y3NTZXJ2aWNlcy5mcmFtZXdvcmsvR3JhcGhpY3NTZXJ2aWNlcy50YmQKKysrIGIvV2ViS2l0TGli
cmFyaWVzL1dlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy9pT1MvMTMvR3JhcGhpY3NTZXJ2aWNl
cy5mcmFtZXdvcmsvR3JhcGhpY3NTZXJ2aWNlcy50YmQKQEAgLTgsNSArOCw1IEBAIGV4cG9ydHM6
CiAgICAgYXJjaHM6ICAgICAgICAgICBbIHg4Nl82NCwgYXJtNjQsIGFybTY0ZSBdCiAgICAgc3lt
Ym9sczogICAgICAgICBbIF9HU0N1cnJlbnRFdmVudFRpbWVzdGFtcCwgX0dTRXZlbnRJc0hhcmR3
YXJlS2V5Ym9hcmRBdHRhY2hlZCwgX0dTRXZlbnRTZXRIYXJkd2FyZUtleWJvYXJkQXR0YWNoZWQs
CiAgICAgICAgICAgICAgICAgICAgICAgIF9HU0ZvbnRJbml0aWFsaXplLCBfR1NGb250UHVyZ2VG
b250Q2FjaGUsIF9HU0luaXRpYWxpemUsIF9HU0tleWJvYXJkR2V0TW9kaWZpZXJTdGF0ZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgX0dTU3lzdGVtUm9vdERpcmVjdG9yeSwgX2tHU0V2ZW50SGFy
ZHdhcmVLZXlib2FyZEF2YWlsYWJpbGl0eUNoYW5nZWROb3RpZmljYXRpb24gXQorICAgICAgICAg
ICAgICAgICAgICAgICBfR1NLZXlib2FyZEdldExpdmVNb2RpZmllclN0YXRlLCBfR1NTeXN0ZW1S
b290RGlyZWN0b3J5LCBfa0dTRXZlbnRIYXJkd2FyZUtleWJvYXJkQXZhaWxhYmlsaXR5Q2hhbmdl
ZE5vdGlmaWNhdGlvbiBdCiAuLi4KZGlmZiAtLWdpdCBhL1dlYktpdExpYnJhcmllcy9XZWJLaXRQ
cml2YXRlRnJhbWV3b3JrU3R1YnMvaU9TLzE0L0dyYXBoaWNzU2VydmljZXMuZnJhbWV3b3JrL0dy
YXBoaWNzU2VydmljZXMudGJkIGIvV2ViS2l0TGlicmFyaWVzL1dlYktpdFByaXZhdGVGcmFtZXdv
cmtTdHVicy9pT1MvMTQvR3JhcGhpY3NTZXJ2aWNlcy5mcmFtZXdvcmsvR3JhcGhpY3NTZXJ2aWNl
cy50YmQKaW5kZXggZmYyMDRlMzFhNTAyNDIxNTI4ZDQxODIwYWQyMmM5YmExNmY3ZmJiOC4uNzY1
OTAwMTQ3ZDYwZmQzNDJlYmMyOTljMGE0N2QwODJkYWJjYmVjZiAxMDA2NDQKLS0tIGEvV2ViS2l0
TGlicmFyaWVzL1dlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy9pT1MvMTQvR3JhcGhpY3NTZXJ2
aWNlcy5mcmFtZXdvcmsvR3JhcGhpY3NTZXJ2aWNlcy50YmQKKysrIGIvV2ViS2l0TGlicmFyaWVz
L1dlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy9pT1MvMTQvR3JhcGhpY3NTZXJ2aWNlcy5mcmFt
ZXdvcmsvR3JhcGhpY3NTZXJ2aWNlcy50YmQKQEAgLTgsNSArOCw1IEBAIGV4cG9ydHM6CiAgICAg
YXJjaHM6ICAgICAgICAgICBbIHg4Nl82NCwgYXJtNjQsIGFybTY0ZSBdCiAgICAgc3ltYm9sczog
ICAgICAgICBbIF9HU0N1cnJlbnRFdmVudFRpbWVzdGFtcCwgX0dTRXZlbnRJc0hhcmR3YXJlS2V5
Ym9hcmRBdHRhY2hlZCwgX0dTRXZlbnRTZXRIYXJkd2FyZUtleWJvYXJkQXR0YWNoZWQsCiAgICAg
ICAgICAgICAgICAgICAgICAgIF9HU0ZvbnRJbml0aWFsaXplLCBfR1NGb250UHVyZ2VGb250Q2Fj
aGUsIF9HU0luaXRpYWxpemUsIF9HU0tleWJvYXJkR2V0TW9kaWZpZXJTdGF0ZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgX0dTU3lzdGVtUm9vdERpcmVjdG9yeSwgX2tHU0V2ZW50SGFyZHdhcmVL
ZXlib2FyZEF2YWlsYWJpbGl0eUNoYW5nZWROb3RpZmljYXRpb24gXQorICAgICAgICAgICAgICAg
ICAgICAgICBfR1NLZXlib2FyZEdldExpdmVNb2RpZmllclN0YXRlLCBfR1NTeXN0ZW1Sb290RGly
ZWN0b3J5LCBfa0dTRXZlbnRIYXJkd2FyZUtleWJvYXJkQXZhaWxhYmlsaXR5Q2hhbmdlZE5vdGlm
aWNhdGlvbiBdCiAuLi4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405235</attachid>
            <date>2020-07-25 16:41:12 -0700</date>
            <delta_ts>2020-07-25 17:39:50 -0700</delta_ts>
            <desc>Test yet another theory</desc>
            <filename>bug-214688-20200725164111.patch</filename>
            <type>text/plain</type>
            <size>13320</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0ODkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBiNWY2Nzkw
NzhlYmIwYWMwNjA4ODIyMjUwNWY3NmZhZDVhYWIwNzE1Li41Njc0NWFiZjY0MTljYmEwNzAwODI2
ZTA5OWVjNzEzZDYwZDVmYzk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAor
MjAyMC0wNy0yNSAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAg
ICAgICBSRUdSRVNTSU9OIChyMjY0NjkwKTogWyBpT1Mgd2syIF0gZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgaXMgYSBmbGFreSBm
YWlsdXJlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MTQ2ODgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY1OTkzNjgzPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGFsL3NwaS9pb3MvR3JhcGhpY3NT
ZXJ2aWNlc1NQSS5oOgorCiAyMDIwLTA3LTI0ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxl
LmNvbT4KIAogICAgICAgICBEZWNsYXJlIHR3byBtb3JlIHRoaW5ncyB0byBmaXggdGhlIGJ1aWxk
IGFmdGVyIHIyNjQ4NzQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZDZmM2Q4NmQ5ZThmNjc2N2M0NjA2YzBmNmYxOTY5
Y2U1NGVmNjAzMS4uN2FkMDkwMzhjNDEzYWVkNGM1ZWQ5NDhmZWYyM2M1ZDBlMmZhZTNhMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMC0wNy0yNSAgV2Vuc29uIEhzaWVoICA8d2Vuc29u
X2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OIChyMjY0NjkwKTogWyBpT1Mg
d2syIF0gZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2Vs
ZWN0aW9uLmh0bWwgaXMgYSBmbGFreSBmYWlsdXJlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQ2ODgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY1
OTkzNjgzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZCBhbiBTUEkgZGVjbGFyYXRpb24gb24gVUlBcHBsaWNhdGlvbi4KKworICAgICAgICAqIFBs
YXRmb3JtL3NwaS9pb3MvVUlLaXRTUEkuaDoKKwogMjAyMC0wNy0yNCAgV2Vuc29uIEhzaWVoICA8
d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChyMjY0NjkwKTog
WyBpT1Mgd2syIF0gZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rp
bmctc2VsZWN0aW9uLmh0bWwgaXMgYSBmbGFreSBmYWlsdXJlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9QQUwvcGFsL3NwaS9pb3MvR3JhcGhpY3NTZXJ2aWNlc1NQSS5oIGIvU291cmNlL1dl
YkNvcmUvUEFML3BhbC9zcGkvaW9zL0dyYXBoaWNzU2VydmljZXNTUEkuaAppbmRleCBlODk5ZTIx
ZjRjYTcyMDNiOGRmMGYwYTkyOWFiMzY2NTJkYmU1OTA5Li45NTQzY2E4YTdkOTYxZWY4ZDQ0YjY3
NmQ4N2U0MTNjZjc0NmJmOTk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3Nw
aS9pb3MvR3JhcGhpY3NTZXJ2aWNlc1NQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwv
c3BpL2lvcy9HcmFwaGljc1NlcnZpY2VzU1BJLmgKQEAgLTQ1LDYgKzQ1LDcgQEAgdm9pZCBHU0Zv
bnRQdXJnZUZvbnRDYWNoZSh2b2lkKTsKIAogdHlwZWRlZiBzdHJ1Y3QgX19HU0tleWJvYXJkKiBH
U0tleWJvYXJkUmVmOwogdWludDMyX3QgR1NLZXlib2FyZEdldE1vZGlmaWVyU3RhdGUoR1NLZXli
b2FyZFJlZik7Cit1aW50MzJfdCBHU0tleWJvYXJkR2V0TGl2ZU1vZGlmaWVyU3RhdGUoR1NLZXli
b2FyZFJlZik7CiBCb29sZWFuIEdTRXZlbnRJc0hhcmR3YXJlS2V5Ym9hcmRBdHRhY2hlZCgpOwog
dm9pZCBHU0V2ZW50U2V0SGFyZHdhcmVLZXlib2FyZEF0dGFjaGVkKEJvb2xlYW4gYXR0YWNoZWQs
IHVpbnQ4X3QgY291bnRyeSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0v
c3BpL2lvcy9VSUtpdFNQSS5oIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL1VJS2l0
U1BJLmgKaW5kZXggMTc2NzUwY2ZlNjEzZjg0YWQ0MjQ1MTE5ZGNjZWM4NjE0YjQ3YWEzMy4uZjM3
YWE0ZWJlNGNmNWQ3ZDgwZTJmNjg3YTc0ODZhOTkzMWEyYTg0OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmgKKysrIGIvU291cmNlL1dlYktpdC9Q
bGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmgKQEAgLTE5NCw2ICsxOTQsNyBAQCBXVEZfRVhURVJO
X0NfRU5ECiAtIChCT09MKWlzU3VzcGVuZGVkVW5kZXJMb2NrOwogLSAodm9pZClfZW5xdWV1ZUhJ
REV2ZW50OihJT0hJREV2ZW50UmVmKWV2ZW50OwogLSAodm9pZClfaGFuZGxlSElERXZlbnQ6KElP
SElERXZlbnRSZWYpZXZlbnQ7CistICh2b2lkKWhhbmRsZUtleUhJREV2ZW50OihJT0hJREV2ZW50
UmVmKWV2ZW50OwogLSAodm9pZCloYW5kbGVLZXlVSUV2ZW50OihVSUV2ZW50ICopZXZlbnQ7CiAt
IChCT09MKV9hcHBBZG9wdHNVSVNjZW5lTGlmZWN5Y2xlOwogQGVuZApAQCAtMTM3Niw2ICsxMzc3
LDEwIEBAIHR5cGVkZWYgTlNfRU5VTShOU1VJbnRlZ2VyLCBfVUlDb250ZXh0TWVudUxheW91dCkg
ewogQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0QmFja2xpZ2h0TGV2ZWw6KSBmbG9h
dCBfYmFja2xpZ2h0TGV2ZWw7CiBAZW5kCiAKK0BpbnRlcmZhY2UgVUlBcHBsaWNhdGlvbiAoSVBJ
KQorLSAoR1NLZXlib2FyZFJlZilfaGFyZHdhcmVLZXlib2FyZDooQk9PTCljcmVhdGVJZk5lZWRl
ZDsKK0BlbmQKKwogV1RGX0VYVEVSTl9DX0JFR0lOCiAKIEJPT0wgVUlLZXlib2FyZEVuYWJsZWRJ
bnB1dE1vZGVzQWxsb3dPbmVUb01hbnlTaG9ydGN1dHModm9pZCk7CmRpZmYgLS1naXQgYS9Ub29s
cy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZTQ0YmZlNzUxMDhmZmIyYTYzODYz
OTUwM2NlNWY0MjdmZjgyYzZjZS4uY2VjNzlkNDNhMjYzMTJkMTNiMDQ4YmFjNzIwMjY0NzhkNWY0
YmJmOCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE3IEBACisyMDIwLTA3LTI1ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhA
YXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04gKHIyNjQ2OTApOiBbIGlPUyB3azIgXSBl
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24u
aHRtbCBpcyBhIGZsYWt5IGZhaWx1cmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIxNDY4OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjU5OTM2ODM+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ29udGlu
dWUgdG8gYWRkIGxvZ2dpbmcgaW4gYW4gYXR0ZW1wdCB0byBkZWJ1ZyB0aGlzIGZsYWt5IHRlc3Qu
CisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL2lvcy9tYWluSU9TLm1tOgorICAgICAgICAo
LVtXZWJLaXRUZXN0UnVubmVyQXBwIGhhbmRsZUtleUhJREV2ZW50Ol0pOgorICAgICAgICAoLVtX
ZWJLaXRUZXN0UnVubmVyQXBwIF9oYW5kbGVISURFdmVudDpdKTogRHJpdmUtYnkgZml4OiBhZGQg
YSBtaXNzaW5nIGNhbGwgdG8gdGhlIHN1cGVyY2xhc3MgbWV0aG9kLgorCiAyMDIwLTA3LTI1ICBX
ZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJ
T04gKHIyNjQ2OTApOiBbIGlPUyB3azIgXSBlZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBpcyBhIGZsYWt5IGZhaWx1cmUKZGlmZiAt
LWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL21haW5JT1MubW0gYi9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL2lvcy9tYWluSU9TLm1tCmluZGV4IDgxMWNiZGMyMDNkNDI5MWUzZWE5ZWQw
Mzg4NjdiYTI2ZDI4ZGU1ODYuLjRmNzY4ZTQ5YTk2MWFhYzIzY2FjZDFjMWVjNjQyNDNhNTkxYjA1
ZjMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL21haW5JT1MubW0KKysr
IGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvbWFpbklPUy5tbQpAQCAtMjgsNiArMjgsNyBA
QAogI2ltcG9ydCAiSElERXZlbnRHZW5lcmF0b3IuaCIKICNpbXBvcnQgIlRlc3RDb250cm9sbGVy
LmgiCiAjaW1wb3J0ICJVSUtpdFNQSS5oIgorI2ltcG9ydCA8cGFsL3NwaS9pb3MvR3JhcGhpY3NT
ZXJ2aWNlc1NQSS5oPgogCiBzdGF0aWMgaW50IF9hcmdjOwogc3RhdGljIGNvbnN0IGNoYXIgKipf
YXJndjsKQEAgLTU0LDggKzU1LDIzIEBAIC0gKHZvaWQpYXBwbGljYXRpb25EaWRFbnRlckJhY2tn
cm91bmQ6KFVJQXBwbGljYXRpb24gKilhcHBsaWNhdGlvbgogICAgIFJFTEVBU0VfQVNTRVJUX05P
VF9SRUFDSEVEKCk7CiB9CiAKKy0gKHZvaWQpaGFuZGxlS2V5SElERXZlbnQ6KElPSElERXZlbnRS
ZWYpZXZlbnQKK3sKKyAgICB7CisgICAgICAgIGF1dG8ga2V5Ym9hcmQgPSBbc2VsZiBfaGFyZHdh
cmVLZXlib2FyZDpOT107CisgICAgICAgIFdURkxvZ0Fsd2F5cygiKEJlZm9yZSk6IGtleWJvYXJk
ICVwIGhhcyBtb2RpZmllciBzdGF0ZTogMHglMDJ4Iiwga2V5Ym9hcmQsIEdTS2V5Ym9hcmRHZXRM
aXZlTW9kaWZpZXJTdGF0ZShrZXlib2FyZCkpOworICAgIH0KKyAgICBbc3VwZXIgaGFuZGxlS2V5
SElERXZlbnQ6ZXZlbnRdOworICAgIHsKKyAgICAgICAgYXV0byBrZXlib2FyZCA9IFtzZWxmIF9o
YXJkd2FyZUtleWJvYXJkOk5PXTsKKyAgICAgICAgV1RGTG9nQWx3YXlzKCIoQWZ0ZXIpOiBrZXli
b2FyZCAlcCBoYXMgbW9kaWZpZXIgc3RhdGU6IDB4JTAyeCIsIGtleWJvYXJkLCBHU0tleWJvYXJk
R2V0TGl2ZU1vZGlmaWVyU3RhdGUoa2V5Ym9hcmQpKTsKKyAgICB9Cit9CisKIC0gKHZvaWQpX2hh
bmRsZUhJREV2ZW50OihJT0hJREV2ZW50UmVmKWV2ZW50CiB7CisgICAgW3N1cGVyIF9oYW5kbGVI
SURFdmVudDpldmVudF07CisKICAgICBbW0hJREV2ZW50R2VuZXJhdG9yIHNoYXJlZEhJREV2ZW50
R2VuZXJhdG9yXSBtYXJrZXJFdmVudFJlY2VpdmVkOmV2ZW50XTsKIH0KIApkaWZmIC0tZ2l0IGEv
V2ViS2l0TGlicmFyaWVzL0NoYW5nZUxvZyBiL1dlYktpdExpYnJhcmllcy9DaGFuZ2VMb2cKaW5k
ZXggYTZiMzM3YzBhOTlmNmUzMjQzNmQ4ZjNiYzc1YWJlZDIyMWE4ZWIyYS4uNjQ4ZmNiODQ5YTRi
Y2I0NjAzZmNhZDJkYWZlZGE1MWU2MzU1OWZlNSAxMDA2NDQKLS0tIGEvV2ViS2l0TGlicmFyaWVz
L0NoYW5nZUxvZworKysgYi9XZWJLaXRMaWJyYXJpZXMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAg
QEAKKzIwMjAtMDctMjUgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisK
KyAgICAgICAgUkVHUkVTU0lPTiAocjI2NDY5MCk6IFsgaU9TIHdrMiBdIGVkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGlzIGEgZmxh
a3kgZmFpbHVyZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjE0Njg4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82NTk5MzY4Mz4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEZWNsYXJlIHRoZSBzeW1ib2wg
Zm9yIGBHU0tleWJvYXJkR2V0TGl2ZU1vZGlmaWVyU3RhdGUoKWAsIGZvciBub24taW50ZXJuYWwg
YnVpbGRzLgorCisgICAgICAgICogV2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL2FwcGxldHZv
cy8xMy9HcmFwaGljc1NlcnZpY2VzLmZyYW1ld29yay9HcmFwaGljc1NlcnZpY2VzLnRiZDoKKyAg
ICAgICAgKiBXZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMvYXBwbGV0dm9zLzE0L0dyYXBoaWNz
U2VydmljZXMuZnJhbWV3b3JrL0dyYXBoaWNzU2VydmljZXMudGJkOgorICAgICAgICAqIFdlYktp
dFByaXZhdGVGcmFtZXdvcmtTdHVicy9pT1MvMTMvR3JhcGhpY3NTZXJ2aWNlcy5mcmFtZXdvcmsv
R3JhcGhpY3NTZXJ2aWNlcy50YmQ6CisgICAgICAgICogV2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0
dWJzL2lPUy8xNC9HcmFwaGljc1NlcnZpY2VzLmZyYW1ld29yay9HcmFwaGljc1NlcnZpY2VzLnRi
ZDoKKyAgICAgICAgKiBXZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMvd2F0Y2hvcy82L0dyYXBo
aWNzU2VydmljZXMuZnJhbWV3b3JrL0dyYXBoaWNzU2VydmljZXMudGJkOgorICAgICAgICAqIFdl
YktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy93YXRjaG9zLzcvR3JhcGhpY3NTZXJ2aWNlcy5mcmFt
ZXdvcmsvR3JhcGhpY3NTZXJ2aWNlcy50YmQ6CisKIDIwMjAtMDctMjMgIEJyYWR5IEVpZHNvbiAg
PGJlaWRzb25AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBHYW1lcGFkIHRlc3RzIHRoYXQgZXhl
cmNpc2UgdGhlIG5hdGl2ZSBmcmFtZXdvcmtzCmRpZmYgLS1naXQgYS9XZWJLaXRMaWJyYXJpZXMv
V2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL2FwcGxldHZvcy8xMy9HcmFwaGljc1NlcnZpY2Vz
LmZyYW1ld29yay9HcmFwaGljc1NlcnZpY2VzLnRiZCBiL1dlYktpdExpYnJhcmllcy9XZWJLaXRQ
cml2YXRlRnJhbWV3b3JrU3R1YnMvYXBwbGV0dm9zLzEzL0dyYXBoaWNzU2VydmljZXMuZnJhbWV3
b3JrL0dyYXBoaWNzU2VydmljZXMudGJkCmluZGV4IGYwNzkxYTEyYmM4ZjA0MDViMTYyOThiNTFk
ZWM2NGYyOTBjZjUxYzUuLjA2OTMzOTFkOWIyZWM0ODZmOTYxYjJkOWRlYWU3ZDFkMzQxZjM3YzQg
MTAwNjQ0Ci0tLSBhL1dlYktpdExpYnJhcmllcy9XZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMv
YXBwbGV0dm9zLzEzL0dyYXBoaWNzU2VydmljZXMuZnJhbWV3b3JrL0dyYXBoaWNzU2VydmljZXMu
dGJkCisrKyBiL1dlYktpdExpYnJhcmllcy9XZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMvYXBw
bGV0dm9zLzEzL0dyYXBoaWNzU2VydmljZXMuZnJhbWV3b3JrL0dyYXBoaWNzU2VydmljZXMudGJk
CkBAIC04LDUgKzgsNSBAQCBleHBvcnRzOgogICAgIGFyY2hzOiAgICAgICAgICAgWyB4ODZfNjQs
IGFybTY0IF0KICAgICBzeW1ib2xzOiAgICAgICAgIFsgX0dTQ3VycmVudEV2ZW50VGltZXN0YW1w
LCBfR1NFdmVudElzSGFyZHdhcmVLZXlib2FyZEF0dGFjaGVkLCBfR1NFdmVudFNldEhhcmR3YXJl
S2V5Ym9hcmRBdHRhY2hlZCwKICAgICAgICAgICAgICAgICAgICAgICAgX0dTRm9udEluaXRpYWxp
emUsIF9HU0ZvbnRQdXJnZUZvbnRDYWNoZSwgX0dTSW5pdGlhbGl6ZSwgX0dTS2V5Ym9hcmRHZXRN
b2RpZmllclN0YXRlLAotICAgICAgICAgICAgICAgICAgICAgICBfR1NTeXN0ZW1Sb290RGlyZWN0
b3J5LCBfa0dTRXZlbnRIYXJkd2FyZUtleWJvYXJkQXZhaWxhYmlsaXR5Q2hhbmdlZE5vdGlmaWNh
dGlvbiBdCisgICAgICAgICAgICAgICAgICAgICAgIF9HU0tleWJvYXJkR2V0TGl2ZU1vZGlmaWVy
U3RhdGUsIF9HU1N5c3RlbVJvb3REaXJlY3RvcnksIF9rR1NFdmVudEhhcmR3YXJlS2V5Ym9hcmRB
dmFpbGFiaWxpdHlDaGFuZ2VkTm90aWZpY2F0aW9uIF0KIC4uLgpkaWZmIC0tZ2l0IGEvV2ViS2l0
TGlicmFyaWVzL1dlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy9hcHBsZXR2b3MvMTQvR3JhcGhp
Y3NTZXJ2aWNlcy5mcmFtZXdvcmsvR3JhcGhpY3NTZXJ2aWNlcy50YmQgYi9XZWJLaXRMaWJyYXJp
ZXMvV2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL2FwcGxldHZvcy8xNC9HcmFwaGljc1NlcnZp
Y2VzLmZyYW1ld29yay9HcmFwaGljc1NlcnZpY2VzLnRiZAppbmRleCBmMDc5MWExMmJjOGYwNDA1
YjE2Mjk4YjUxZGVjNjRmMjkwY2Y1MWM1Li4wNjkzMzkxZDliMmVjNDg2Zjk2MWIyZDlkZWFlN2Qx
ZDM0MWYzN2M0IDEwMDY0NAotLS0gYS9XZWJLaXRMaWJyYXJpZXMvV2ViS2l0UHJpdmF0ZUZyYW1l
d29ya1N0dWJzL2FwcGxldHZvcy8xNC9HcmFwaGljc1NlcnZpY2VzLmZyYW1ld29yay9HcmFwaGlj
c1NlcnZpY2VzLnRiZAorKysgYi9XZWJLaXRMaWJyYXJpZXMvV2ViS2l0UHJpdmF0ZUZyYW1ld29y
a1N0dWJzL2FwcGxldHZvcy8xNC9HcmFwaGljc1NlcnZpY2VzLmZyYW1ld29yay9HcmFwaGljc1Nl
cnZpY2VzLnRiZApAQCAtOCw1ICs4LDUgQEAgZXhwb3J0czoKICAgICBhcmNoczogICAgICAgICAg
IFsgeDg2XzY0LCBhcm02NCBdCiAgICAgc3ltYm9sczogICAgICAgICBbIF9HU0N1cnJlbnRFdmVu
dFRpbWVzdGFtcCwgX0dTRXZlbnRJc0hhcmR3YXJlS2V5Ym9hcmRBdHRhY2hlZCwgX0dTRXZlbnRT
ZXRIYXJkd2FyZUtleWJvYXJkQXR0YWNoZWQsCiAgICAgICAgICAgICAgICAgICAgICAgIF9HU0Zv
bnRJbml0aWFsaXplLCBfR1NGb250UHVyZ2VGb250Q2FjaGUsIF9HU0luaXRpYWxpemUsIF9HU0tl
eWJvYXJkR2V0TW9kaWZpZXJTdGF0ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgX0dTU3lzdGVt
Um9vdERpcmVjdG9yeSwgX2tHU0V2ZW50SGFyZHdhcmVLZXlib2FyZEF2YWlsYWJpbGl0eUNoYW5n
ZWROb3RpZmljYXRpb24gXQorICAgICAgICAgICAgICAgICAgICAgICBfR1NLZXlib2FyZEdldExp
dmVNb2RpZmllclN0YXRlLCBfR1NTeXN0ZW1Sb290RGlyZWN0b3J5LCBfa0dTRXZlbnRIYXJkd2Fy
ZUtleWJvYXJkQXZhaWxhYmlsaXR5Q2hhbmdlZE5vdGlmaWNhdGlvbiBdCiAuLi4KZGlmZiAtLWdp
dCBhL1dlYktpdExpYnJhcmllcy9XZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMvaU9TLzEzL0dy
YXBoaWNzU2VydmljZXMuZnJhbWV3b3JrL0dyYXBoaWNzU2VydmljZXMudGJkIGIvV2ViS2l0TGli
cmFyaWVzL1dlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy9pT1MvMTMvR3JhcGhpY3NTZXJ2aWNl
cy5mcmFtZXdvcmsvR3JhcGhpY3NTZXJ2aWNlcy50YmQKaW5kZXggZmYyMDRlMzFhNTAyNDIxNTI4
ZDQxODIwYWQyMmM5YmExNmY3ZmJiOC4uNzY1OTAwMTQ3ZDYwZmQzNDJlYmMyOTljMGE0N2QwODJk
YWJjYmVjZiAxMDA2NDQKLS0tIGEvV2ViS2l0TGlicmFyaWVzL1dlYktpdFByaXZhdGVGcmFtZXdv
cmtTdHVicy9pT1MvMTMvR3JhcGhpY3NTZXJ2aWNlcy5mcmFtZXdvcmsvR3JhcGhpY3NTZXJ2aWNl
cy50YmQKKysrIGIvV2ViS2l0TGlicmFyaWVzL1dlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy9p
T1MvMTMvR3JhcGhpY3NTZXJ2aWNlcy5mcmFtZXdvcmsvR3JhcGhpY3NTZXJ2aWNlcy50YmQKQEAg
LTgsNSArOCw1IEBAIGV4cG9ydHM6CiAgICAgYXJjaHM6ICAgICAgICAgICBbIHg4Nl82NCwgYXJt
NjQsIGFybTY0ZSBdCiAgICAgc3ltYm9sczogICAgICAgICBbIF9HU0N1cnJlbnRFdmVudFRpbWVz
dGFtcCwgX0dTRXZlbnRJc0hhcmR3YXJlS2V5Ym9hcmRBdHRhY2hlZCwgX0dTRXZlbnRTZXRIYXJk
d2FyZUtleWJvYXJkQXR0YWNoZWQsCiAgICAgICAgICAgICAgICAgICAgICAgIF9HU0ZvbnRJbml0
aWFsaXplLCBfR1NGb250UHVyZ2VGb250Q2FjaGUsIF9HU0luaXRpYWxpemUsIF9HU0tleWJvYXJk
R2V0TW9kaWZpZXJTdGF0ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgX0dTU3lzdGVtUm9vdERp
cmVjdG9yeSwgX2tHU0V2ZW50SGFyZHdhcmVLZXlib2FyZEF2YWlsYWJpbGl0eUNoYW5nZWROb3Rp
ZmljYXRpb24gXQorICAgICAgICAgICAgICAgICAgICAgICBfR1NLZXlib2FyZEdldExpdmVNb2Rp
ZmllclN0YXRlLCBfR1NTeXN0ZW1Sb290RGlyZWN0b3J5LCBfa0dTRXZlbnRIYXJkd2FyZUtleWJv
YXJkQXZhaWxhYmlsaXR5Q2hhbmdlZE5vdGlmaWNhdGlvbiBdCiAuLi4KZGlmZiAtLWdpdCBhL1dl
YktpdExpYnJhcmllcy9XZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMvaU9TLzE0L0dyYXBoaWNz
U2VydmljZXMuZnJhbWV3b3JrL0dyYXBoaWNzU2VydmljZXMudGJkIGIvV2ViS2l0TGlicmFyaWVz
L1dlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy9pT1MvMTQvR3JhcGhpY3NTZXJ2aWNlcy5mcmFt
ZXdvcmsvR3JhcGhpY3NTZXJ2aWNlcy50YmQKaW5kZXggZmYyMDRlMzFhNTAyNDIxNTI4ZDQxODIw
YWQyMmM5YmExNmY3ZmJiOC4uNzY1OTAwMTQ3ZDYwZmQzNDJlYmMyOTljMGE0N2QwODJkYWJjYmVj
ZiAxMDA2NDQKLS0tIGEvV2ViS2l0TGlicmFyaWVzL1dlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVi
cy9pT1MvMTQvR3JhcGhpY3NTZXJ2aWNlcy5mcmFtZXdvcmsvR3JhcGhpY3NTZXJ2aWNlcy50YmQK
KysrIGIvV2ViS2l0TGlicmFyaWVzL1dlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy9pT1MvMTQv
R3JhcGhpY3NTZXJ2aWNlcy5mcmFtZXdvcmsvR3JhcGhpY3NTZXJ2aWNlcy50YmQKQEAgLTgsNSAr
OCw1IEBAIGV4cG9ydHM6CiAgICAgYXJjaHM6ICAgICAgICAgICBbIHg4Nl82NCwgYXJtNjQsIGFy
bTY0ZSBdCiAgICAgc3ltYm9sczogICAgICAgICBbIF9HU0N1cnJlbnRFdmVudFRpbWVzdGFtcCwg
X0dTRXZlbnRJc0hhcmR3YXJlS2V5Ym9hcmRBdHRhY2hlZCwgX0dTRXZlbnRTZXRIYXJkd2FyZUtl
eWJvYXJkQXR0YWNoZWQsCiAgICAgICAgICAgICAgICAgICAgICAgIF9HU0ZvbnRJbml0aWFsaXpl
LCBfR1NGb250UHVyZ2VGb250Q2FjaGUsIF9HU0luaXRpYWxpemUsIF9HU0tleWJvYXJkR2V0TW9k
aWZpZXJTdGF0ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgX0dTU3lzdGVtUm9vdERpcmVjdG9y
eSwgX2tHU0V2ZW50SGFyZHdhcmVLZXlib2FyZEF2YWlsYWJpbGl0eUNoYW5nZWROb3RpZmljYXRp
b24gXQorICAgICAgICAgICAgICAgICAgICAgICBfR1NLZXlib2FyZEdldExpdmVNb2RpZmllclN0
YXRlLCBfR1NTeXN0ZW1Sb290RGlyZWN0b3J5LCBfa0dTRXZlbnRIYXJkd2FyZUtleWJvYXJkQXZh
aWxhYmlsaXR5Q2hhbmdlZE5vdGlmaWNhdGlvbiBdCiAuLi4KZGlmZiAtLWdpdCBhL1dlYktpdExp
YnJhcmllcy9XZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMvd2F0Y2hvcy82L0dyYXBoaWNzU2Vy
dmljZXMuZnJhbWV3b3JrL0dyYXBoaWNzU2VydmljZXMudGJkIGIvV2ViS2l0TGlicmFyaWVzL1dl
YktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy93YXRjaG9zLzYvR3JhcGhpY3NTZXJ2aWNlcy5mcmFt
ZXdvcmsvR3JhcGhpY3NTZXJ2aWNlcy50YmQKaW5kZXggNmVjOTliMjg5NTQwOTdiZTRjZmE5M2Rm
NjdmNjVkMWU4NzlkMGIzMC4uZGI2M2I1MWYwYWRkMWJiYzAwY2ExMTIyNmIzODFiYmVmZjc3ZTdh
MCAxMDA2NDQKLS0tIGEvV2ViS2l0TGlicmFyaWVzL1dlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVi
cy93YXRjaG9zLzYvR3JhcGhpY3NTZXJ2aWNlcy5mcmFtZXdvcmsvR3JhcGhpY3NTZXJ2aWNlcy50
YmQKKysrIGIvV2ViS2l0TGlicmFyaWVzL1dlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy93YXRj
aG9zLzYvR3JhcGhpY3NTZXJ2aWNlcy5mcmFtZXdvcmsvR3JhcGhpY3NTZXJ2aWNlcy50YmQKQEAg
LTgsNSArOCw1IEBAIGV4cG9ydHM6CiAgICAgYXJjaHM6ICAgICAgICAgICBbIGkzODYsIHg4Nl82
NCwgYXJtNjQsIGFybTY0ZSwgYXJtNjRfMzIsIGFybXY3ayBdCiAgICAgc3ltYm9sczogICAgICAg
ICBbIF9HU0N1cnJlbnRFdmVudFRpbWVzdGFtcCwgX0dTRXZlbnRJc0hhcmR3YXJlS2V5Ym9hcmRB
dHRhY2hlZCwgX0dTRXZlbnRTZXRIYXJkd2FyZUtleWJvYXJkQXR0YWNoZWQsCiAgICAgICAgICAg
ICAgICAgICAgICAgIF9HU0ZvbnRJbml0aWFsaXplLCBfR1NGb250UHVyZ2VGb250Q2FjaGUsIF9H
U0luaXRpYWxpemUsIF9HU0tleWJvYXJkR2V0TW9kaWZpZXJTdGF0ZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgX0dTU3lzdGVtUm9vdERpcmVjdG9yeSwgX2tHU0V2ZW50SGFyZHdhcmVLZXlib2Fy
ZEF2YWlsYWJpbGl0eUNoYW5nZWROb3RpZmljYXRpb24gXQorICAgICAgICAgICAgICAgICAgICAg
ICBfR1NLZXlib2FyZEdldExpdmVNb2RpZmllclN0YXRlLCBfR1NTeXN0ZW1Sb290RGlyZWN0b3J5
LCBfa0dTRXZlbnRIYXJkd2FyZUtleWJvYXJkQXZhaWxhYmlsaXR5Q2hhbmdlZE5vdGlmaWNhdGlv
biBdCiAuLi4KZGlmZiAtLWdpdCBhL1dlYktpdExpYnJhcmllcy9XZWJLaXRQcml2YXRlRnJhbWV3
b3JrU3R1YnMvd2F0Y2hvcy83L0dyYXBoaWNzU2VydmljZXMuZnJhbWV3b3JrL0dyYXBoaWNzU2Vy
dmljZXMudGJkIGIvV2ViS2l0TGlicmFyaWVzL1dlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy93
YXRjaG9zLzcvR3JhcGhpY3NTZXJ2aWNlcy5mcmFtZXdvcmsvR3JhcGhpY3NTZXJ2aWNlcy50YmQK
aW5kZXggNmVjOTliMjg5NTQwOTdiZTRjZmE5M2RmNjdmNjVkMWU4NzlkMGIzMC4uZGI2M2I1MWYw
YWRkMWJiYzAwY2ExMTIyNmIzODFiYmVmZjc3ZTdhMCAxMDA2NDQKLS0tIGEvV2ViS2l0TGlicmFy
aWVzL1dlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy93YXRjaG9zLzcvR3JhcGhpY3NTZXJ2aWNl
cy5mcmFtZXdvcmsvR3JhcGhpY3NTZXJ2aWNlcy50YmQKKysrIGIvV2ViS2l0TGlicmFyaWVzL1dl
YktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy93YXRjaG9zLzcvR3JhcGhpY3NTZXJ2aWNlcy5mcmFt
ZXdvcmsvR3JhcGhpY3NTZXJ2aWNlcy50YmQKQEAgLTgsNSArOCw1IEBAIGV4cG9ydHM6CiAgICAg
YXJjaHM6ICAgICAgICAgICBbIGkzODYsIHg4Nl82NCwgYXJtNjQsIGFybTY0ZSwgYXJtNjRfMzIs
IGFybXY3ayBdCiAgICAgc3ltYm9sczogICAgICAgICBbIF9HU0N1cnJlbnRFdmVudFRpbWVzdGFt
cCwgX0dTRXZlbnRJc0hhcmR3YXJlS2V5Ym9hcmRBdHRhY2hlZCwgX0dTRXZlbnRTZXRIYXJkd2Fy
ZUtleWJvYXJkQXR0YWNoZWQsCiAgICAgICAgICAgICAgICAgICAgICAgIF9HU0ZvbnRJbml0aWFs
aXplLCBfR1NGb250UHVyZ2VGb250Q2FjaGUsIF9HU0luaXRpYWxpemUsIF9HU0tleWJvYXJkR2V0
TW9kaWZpZXJTdGF0ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgX0dTU3lzdGVtUm9vdERpcmVj
dG9yeSwgX2tHU0V2ZW50SGFyZHdhcmVLZXlib2FyZEF2YWlsYWJpbGl0eUNoYW5nZWROb3RpZmlj
YXRpb24gXQorICAgICAgICAgICAgICAgICAgICAgICBfR1NLZXlib2FyZEdldExpdmVNb2RpZmll
clN0YXRlLCBfR1NTeXN0ZW1Sb290RGlyZWN0b3J5LCBfa0dTRXZlbnRIYXJkd2FyZUtleWJvYXJk
QXZhaWxhYmlsaXR5Q2hhbmdlZE5vdGlmaWNhdGlvbiBdCiAuLi4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405246</attachid>
            <date>2020-07-26 00:26:27 -0700</date>
            <delta_ts>2020-07-26 01:17:37 -0700</delta_ts>
            <desc>Test yet another theory</desc>
            <filename>bug-214688-20200726002626.patch</filename>
            <type>text/plain</type>
            <size>14500</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0ODk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBhYjMzMzhi
OTZhYTdmYmRiNzg3NTFlNWYyMGU5ZTcyOTk0NjkxYjMxLi4wOTFjMThkMTMzNTg1MjI3ZGJmYWIz
MjQyNjYyOTMwN2JiOWU4MzIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAor
MjAyMC0wNy0yNiAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAg
ICAgICBVbnJldmlld2VkLCBhZGQgZXZlbiBtb3JlIGxvZ2dpbmcgdG8gdHJ5IGFuZCBkaWFnbm9z
ZSBhIGZsYWt5IHRlc3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxNDY4OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjU5OTM2ODM+CisKKyAgICAg
ICAgQWRkIG1vcmUgR3JhcGhpY3NTZXJ2aWNlcyBTUEkgZGVjbGFyYXRpb25zLgorCisgICAgICAg
ICogcGFsL3NwaS9pb3MvR3JhcGhpY3NTZXJ2aWNlc1NQSS5oOgorCiAyMDIwLTA3LTI1ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04g
KHIyNjQ2OTApOiBbIGlPUyB3azIgXSBlZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNs
dWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBpcyBhIGZsYWt5IGZhaWx1cmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5k
ZXggNmViYzJkMjhiMWRjYzAyYTcwZDAwYzM2MDY3ZDMxMTdiMGU1ZjU0Yy4uMjgzOWU5MjkwODQ3
MDdjZTI4ZTY5ZGI4MWUwMDI5MTI3OGE3NzM3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAor
MjAyMC0wNy0yNiAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAg
ICAgICBVbnJldmlld2VkLCBhZGQgZXZlbiBtb3JlIGxvZ2dpbmcgdG8gdHJ5IGFuZCBkaWFnbm9z
ZSBhIGZsYWt5IHRlc3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxNDY4OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjU5OTM2ODM+CisKKyAgICAg
ICAgQWRkIGFub3RoZXIgSVBJIGRlY2xhcmF0aW9uIG9uIFVJQXBwbGljYXRpb24uCisKKyAgICAg
ICAgKiBQbGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmg6CisKIDIwMjAtMDctMjUgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjI2
NDY5MCk6IFsgaU9TIHdrMiBdIGVkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVz
LWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sIGlzIGEgZmxha3kgZmFpbHVyZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvaW9zL0dyYXBoaWNzU2VydmljZXNTUEkuaCBiL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2lvcy9HcmFwaGljc1NlcnZpY2VzU1BJLmgKaW5kZXgg
OTU0M2NhOGE3ZDk2MWVmOGQ0NGI2NzZkODdlNDEzY2Y3NDZiZjk5NS4uMzFmZmM2NmM4OThjOTUz
NTUxZTZjYmE4YThmYWNhNDYwZDI5NGFmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFM
L3BhbC9zcGkvaW9zL0dyYXBoaWNzU2VydmljZXNTUEkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Q
QUwvcGFsL3NwaS9pb3MvR3JhcGhpY3NTZXJ2aWNlc1NQSS5oCkBAIC00OCw2ICs0OCw4IEBAIHVp
bnQzMl90IEdTS2V5Ym9hcmRHZXRNb2RpZmllclN0YXRlKEdTS2V5Ym9hcmRSZWYpOwogdWludDMy
X3QgR1NLZXlib2FyZEdldExpdmVNb2RpZmllclN0YXRlKEdTS2V5Ym9hcmRSZWYpOwogQm9vbGVh
biBHU0V2ZW50SXNIYXJkd2FyZUtleWJvYXJkQXR0YWNoZWQoKTsKIHZvaWQgR1NFdmVudFNldEhh
cmR3YXJlS2V5Ym9hcmRBdHRhY2hlZChCb29sZWFuIGF0dGFjaGVkLCB1aW50OF90IGNvdW50cnkp
OworQ0ZTdHJpbmdSZWYgR1NLZXlib2FyZEdldExheW91dChHU0tleWJvYXJkUmVmKTsKK3VpbnQz
Ml90IEdTS2V5Ym9hcmRHZXRIV0tleWJvYXJkVHlwZShHU0tleWJvYXJkUmVmKTsKIAogZXh0ZXJu
IGNvbnN0IGNoYXIgKmtHU0V2ZW50SGFyZHdhcmVLZXlib2FyZEF2YWlsYWJpbGl0eUNoYW5nZWRO
b3RpZmljYXRpb247CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL2lv
cy9VSUtpdFNQSS5oIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmgK
aW5kZXggZjM3YWE0ZWJlNGNmNWQ3ZDgwZTJmNjg3YTc0ODZhOTkzMWEyYTg0OS4uNzQ0YWYyNWY4
ZmU2NjYwN2ZmNjMzYWM4ZTNlZmI0ZGU4ZjVjZmQ3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9QbGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmgKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9y
bS9zcGkvaW9zL1VJS2l0U1BJLmgKQEAgLTEzNzksNiArMTM3OSw3IEBAIHR5cGVkZWYgTlNfRU5V
TShOU1VJbnRlZ2VyLCBfVUlDb250ZXh0TWVudUxheW91dCkgewogCiBAaW50ZXJmYWNlIFVJQXBw
bGljYXRpb24gKElQSSkKIC0gKEdTS2V5Ym9hcmRSZWYpX2hhcmR3YXJlS2V5Ym9hcmQ6KEJPT0wp
Y3JlYXRlSWZOZWVkZWQ7CistIChHU0tleWJvYXJkUmVmKUdTS2V5Ym9hcmRGb3JIV0xheW91dDoo
TlNTdHJpbmcgKilsYXlvdXQgZm9yY2VSZWJ1aWxkOihCT09MKWZvcmNlUmVidWlsZCBjcmVhdGVJ
Zk5lZWRlZDooQk9PTCljcmVhdGVJZk5lZWRlZDsKIEBlbmQKIAogV1RGX0VYVEVSTl9DX0JFR0lO
CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOGE0
MWQyN2Q1ODcwNGU5NDE2ZDJiNWVmNjEzNjA0NTdjOTFjY2NkYi4uZDE1ZjMxNTUwZjllN2EyMjQ3
YzQ5NmMzYWRlZTlhYzYyYzNiMWYyMSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBi
L1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIwLTA3LTI2ICBXZW5zb24gSHNp
ZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFVucmV2aWV3ZWQsIGFkZCBl
dmVuIG1vcmUgbG9nZ2luZyB0byB0cnkgYW5kIGRpYWdub3NlIGEgZmxha3kgdGVzdAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0Njg4CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS82NTk5MzY4Mz4KKworICAgICAgICBFdmlkZW5jZSBzbyBmYXIgc3Vn
Z2VzdHMgdGhhdCB0aGlzIHRlc3QgZmFpbHMgd2hlbiB0aGUgcHJvY2VzcyBvZiBkaXNwYXRjaGlu
ZyBhIGtleWRvd24gZXZlbnQgZm9yIGEgbW9kaWZpZXIKKyAgICAgICAgKGluIHRoaXMgY2FzZSwg
dGhlIHNoaWZ0IGtleSkgY2F1c2VzIHRoZSBVSUFwcGxpY2F0aW9uJ3MgaGFyZHdhcmUga2V5Ym9h
cmQgKGBHU0tleWJvYXJkUmVmYCkgdG8gYmUgcmVnZW5lcmF0ZWQuCisgICAgICAgIFRoaXMgbWF5
IGhhcHBlbiBpbiBvbmUgb2YgdHdvIHdheXM6IGVpdGhlciBhIHJlYnVpbGQgaXMgZm9yY2VkIGJ5
IGxvZ2ljIGluIGAtW1VJQXBwbGljYXRpb24gaGFuZGxlS2V5SElERXZlbnQ6XWAsCisgICAgICAg
IG9yIGBmb3JjZVJlYnVpbGRgIGlzIGBOT2AsIGJ1dCB0aGUga2V5Ym9hcmQgaXMgcmVidWlsdCBh
bnl3YXlzIGR1ZSB0byBhIG1pc21hdGNoZWQgbGF5b3V0IGFuZC9vciBrZXlib2FyZCB0eXBlLgor
CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9pb3MvbWFpbklPUy5tbToKKyAgICAgICAgKC1b
V2ViS2l0VGVzdFJ1bm5lckFwcCBHU0tleWJvYXJkRm9ySFdMYXlvdXQ6Zm9yY2VSZWJ1aWxkOmNy
ZWF0ZUlmTmVlZGVkOl0pOgorICAgICAgICAoLVtXZWJLaXRUZXN0UnVubmVyQXBwIGhhbmRsZUtl
eUhJREV2ZW50Ol0pOgorCiAyMDIwLTA3LTI1ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhA
YXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIENyYXNoIHVuZGVyIFZhbGlkYXRpb25CdWJibGU6
OnNldEFuY2hvclJlY3Qgd2hlbiBzaG93aW5nIGZvcm0gdmFsaWRhdGlvbiBVSSBpbiB1bnBhcmVu
dGVkIHZpZXcKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL21haW5JT1Mu
bW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9tYWluSU9TLm1tCmluZGV4IDRmNzY4ZTQ5
YTk2MWFhYzIzY2FjZDFjMWVjNjQyNDNhNTkxYjA1ZjMuLjU1MDFmZGJmNzZlODA4YmY2YTY4YWI2
Njg1MjU2OGQwNzUzNjZkNmMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9z
L21haW5JT1MubW0KKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvbWFpbklPUy5tbQpA
QCAtNTUsMTYgKzU1LDIzIEBAIC0gKHZvaWQpYXBwbGljYXRpb25EaWRFbnRlckJhY2tncm91bmQ6
KFVJQXBwbGljYXRpb24gKilhcHBsaWNhdGlvbgogICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFD
SEVEKCk7CiB9CiAKKy0gKEdTS2V5Ym9hcmRSZWYpR1NLZXlib2FyZEZvckhXTGF5b3V0OihOU1N0
cmluZyAqKWxheW91dCBmb3JjZVJlYnVpbGQ6KEJPT0wpZm9yY2VSZWJ1aWxkIGNyZWF0ZUlmTmVl
ZGVkOihCT09MKWNyZWF0ZUlmTmVlZGVkCit7CisgICAgYXV0byBrZXlib2FyZCA9IFtzdXBlciBH
U0tleWJvYXJkRm9ySFdMYXlvdXQ6bGF5b3V0IGZvcmNlUmVidWlsZDpmb3JjZVJlYnVpbGQgY3Jl
YXRlSWZOZWVkZWQ6Y3JlYXRlSWZOZWVkZWRdOworICAgIFdURkxvZ0Fsd2F5cygiLVslQCBHU0tl
eWJvYXJkRm9ySFdMYXlvdXQ6JUAgZm9yY2VSZWJ1aWxkOiVAIGNyZWF0ZUlmTmVlZGVkOiVAXSA9
PiAlcCIsIHNlbGYuY2xhc3MsIGxheW91dCwgZm9yY2VSZWJ1aWxkID8gQCJZRVMiIDogQCJOTyIs
IGNyZWF0ZUlmTmVlZGVkID8gQCJZRVMiIDogQCJOTyIsIGtleWJvYXJkKTsKKyAgICByZXR1cm4g
a2V5Ym9hcmQ7Cit9CisKIC0gKHZvaWQpaGFuZGxlS2V5SElERXZlbnQ6KElPSElERXZlbnRSZWYp
ZXZlbnQKIHsKICAgICB7CiAgICAgICAgIGF1dG8ga2V5Ym9hcmQgPSBbc2VsZiBfaGFyZHdhcmVL
ZXlib2FyZDpOT107Ci0gICAgICAgIFdURkxvZ0Fsd2F5cygiKEJlZm9yZSk6IGtleWJvYXJkICVw
IGhhcyBtb2RpZmllciBzdGF0ZTogMHglMDJ4Iiwga2V5Ym9hcmQsIEdTS2V5Ym9hcmRHZXRMaXZl
TW9kaWZpZXJTdGF0ZShrZXlib2FyZCkpOworICAgICAgICBXVEZMb2dBbHdheXMoIihCZWZvcmUp
OiBrZXlib2FyZCAlcCBoYXMgbW9kaWZpZXIgc3RhdGU6IDB4JTAyeDsgbGF5b3V0OiVAOyB0eXBl
OiAlZCIsIGtleWJvYXJkLCBHU0tleWJvYXJkR2V0TGl2ZU1vZGlmaWVyU3RhdGUoa2V5Ym9hcmQp
LCAoX19icmlkZ2UgTlNTdHJpbmcgKilHU0tleWJvYXJkR2V0TGF5b3V0KGtleWJvYXJkKSwgR1NL
ZXlib2FyZEdldEhXS2V5Ym9hcmRUeXBlKGtleWJvYXJkKSk7CiAgICAgfQogICAgIFtzdXBlciBo
YW5kbGVLZXlISURFdmVudDpldmVudF07CiAgICAgewogICAgICAgICBhdXRvIGtleWJvYXJkID0g
W3NlbGYgX2hhcmR3YXJlS2V5Ym9hcmQ6Tk9dOwotICAgICAgICBXVEZMb2dBbHdheXMoIihBZnRl
cik6IGtleWJvYXJkICVwIGhhcyBtb2RpZmllciBzdGF0ZTogMHglMDJ4Iiwga2V5Ym9hcmQsIEdT
S2V5Ym9hcmRHZXRMaXZlTW9kaWZpZXJTdGF0ZShrZXlib2FyZCkpOworICAgICAgICBXVEZMb2dB
bHdheXMoIihBZnRlcik6IGtleWJvYXJkICVwIGhhcyBtb2RpZmllciBzdGF0ZTogMHglMDJ4OyBs
YXlvdXQ6JUA7IHR5cGU6ICVkIiwga2V5Ym9hcmQsIEdTS2V5Ym9hcmRHZXRMaXZlTW9kaWZpZXJT
dGF0ZShrZXlib2FyZCksIChfX2JyaWRnZSBOU1N0cmluZyAqKUdTS2V5Ym9hcmRHZXRMYXlvdXQo
a2V5Ym9hcmQpLCBHU0tleWJvYXJkR2V0SFdLZXlib2FyZFR5cGUoa2V5Ym9hcmQpKTsKICAgICB9
CiB9CiAKZGlmZiAtLWdpdCBhL1dlYktpdExpYnJhcmllcy9DaGFuZ2VMb2cgYi9XZWJLaXRMaWJy
YXJpZXMvQ2hhbmdlTG9nCmluZGV4IGY1ZDc4YTcwNmZjODdmZjZmZGIxMmRiZGIzZjU0ZDE1N2Mx
NGJlNGMuLmVlMDhmM2ZkYzlhNDk5NzM5MDg5ZmEwOTRlOWY3MWFiNDA5YTBmZjYgMTAwNjQ0Ci0t
LSBhL1dlYktpdExpYnJhcmllcy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0TGlicmFyaWVzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIwLTA3LTI2ICBXZW5zb24gSHNpZWggIDx3ZW5zb25f
aHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFVucmV2aWV3ZWQsIGFkZCBldmVuIG1vcmUgbG9n
Z2luZyB0byB0cnkgYW5kIGRpYWdub3NlIGEgZmxha3kgdGVzdAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0Njg4CisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS82NTk5MzY4Mz4KKworICAgICAgICBBZGQgc3ltYm9sIHN0dWJzIGZvciBub24taW50ZXJu
YWwgYnVpbGRzLgorCisgICAgICAgICogV2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL2FwcGxl
dHZvcy8xMy9HcmFwaGljc1NlcnZpY2VzLmZyYW1ld29yay9HcmFwaGljc1NlcnZpY2VzLnRiZDoK
KyAgICAgICAgKiBXZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMvYXBwbGV0dm9zLzE0L0dyYXBo
aWNzU2VydmljZXMuZnJhbWV3b3JrL0dyYXBoaWNzU2VydmljZXMudGJkOgorICAgICAgICAqIFdl
YktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy9pT1MvMTMvR3JhcGhpY3NTZXJ2aWNlcy5mcmFtZXdv
cmsvR3JhcGhpY3NTZXJ2aWNlcy50YmQ6CisgICAgICAgICogV2ViS2l0UHJpdmF0ZUZyYW1ld29y
a1N0dWJzL2lPUy8xNC9HcmFwaGljc1NlcnZpY2VzLmZyYW1ld29yay9HcmFwaGljc1NlcnZpY2Vz
LnRiZDoKKyAgICAgICAgKiBXZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMvd2F0Y2hvcy82L0dy
YXBoaWNzU2VydmljZXMuZnJhbWV3b3JrL0dyYXBoaWNzU2VydmljZXMudGJkOgorICAgICAgICAq
IFdlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy93YXRjaG9zLzcvR3JhcGhpY3NTZXJ2aWNlcy5m
cmFtZXdvcmsvR3JhcGhpY3NTZXJ2aWNlcy50YmQ6CisKIDIwMjAtMDctMjUgIFdlbnNvbiBIc2ll
aCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjI2NDY5
MCk6IFsgaU9TIHdrMiBdIGVkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWNsaWNrLWluY2x1ZGVzLWV4
aXN0aW5nLXNlbGVjdGlvbi5odG1sIGlzIGEgZmxha3kgZmFpbHVyZQpkaWZmIC0tZ2l0IGEvV2Vi
S2l0TGlicmFyaWVzL1dlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy9hcHBsZXR2b3MvMTMvR3Jh
cGhpY3NTZXJ2aWNlcy5mcmFtZXdvcmsvR3JhcGhpY3NTZXJ2aWNlcy50YmQgYi9XZWJLaXRMaWJy
YXJpZXMvV2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL2FwcGxldHZvcy8xMy9HcmFwaGljc1Nl
cnZpY2VzLmZyYW1ld29yay9HcmFwaGljc1NlcnZpY2VzLnRiZAppbmRleCAwNjkzMzkxZDliMmVj
NDg2Zjk2MWIyZDlkZWFlN2QxZDM0MWYzN2M0Li5mNmE0NWFkM2FjM2Y4MDY2YzNhZjFhMWM5Zjgx
YTc5MmFmMzliZDQxIDEwMDY0NAotLS0gYS9XZWJLaXRMaWJyYXJpZXMvV2ViS2l0UHJpdmF0ZUZy
YW1ld29ya1N0dWJzL2FwcGxldHZvcy8xMy9HcmFwaGljc1NlcnZpY2VzLmZyYW1ld29yay9HcmFw
aGljc1NlcnZpY2VzLnRiZAorKysgYi9XZWJLaXRMaWJyYXJpZXMvV2ViS2l0UHJpdmF0ZUZyYW1l
d29ya1N0dWJzL2FwcGxldHZvcy8xMy9HcmFwaGljc1NlcnZpY2VzLmZyYW1ld29yay9HcmFwaGlj
c1NlcnZpY2VzLnRiZApAQCAtOCw1ICs4LDYgQEAgZXhwb3J0czoKICAgICBhcmNoczogICAgICAg
ICAgIFsgeDg2XzY0LCBhcm02NCBdCiAgICAgc3ltYm9sczogICAgICAgICBbIF9HU0N1cnJlbnRF
dmVudFRpbWVzdGFtcCwgX0dTRXZlbnRJc0hhcmR3YXJlS2V5Ym9hcmRBdHRhY2hlZCwgX0dTRXZl
bnRTZXRIYXJkd2FyZUtleWJvYXJkQXR0YWNoZWQsCiAgICAgICAgICAgICAgICAgICAgICAgIF9H
U0ZvbnRJbml0aWFsaXplLCBfR1NGb250UHVyZ2VGb250Q2FjaGUsIF9HU0luaXRpYWxpemUsIF9H
U0tleWJvYXJkR2V0TW9kaWZpZXJTdGF0ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgX0dTS2V5
Ym9hcmRHZXRMaXZlTW9kaWZpZXJTdGF0ZSwgX0dTU3lzdGVtUm9vdERpcmVjdG9yeSwgX2tHU0V2
ZW50SGFyZHdhcmVLZXlib2FyZEF2YWlsYWJpbGl0eUNoYW5nZWROb3RpZmljYXRpb24gXQorICAg
ICAgICAgICAgICAgICAgICAgICBfR1NLZXlib2FyZEdldExpdmVNb2RpZmllclN0YXRlLCBfR1NT
eXN0ZW1Sb290RGlyZWN0b3J5LCBfa0dTRXZlbnRIYXJkd2FyZUtleWJvYXJkQXZhaWxhYmlsaXR5
Q2hhbmdlZE5vdGlmaWNhdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgX0dTS2V5Ym9hcmRH
ZXRMYXlvdXQsIF9HU0tleWJvYXJkR2V0SFdLZXlib2FyZFR5cGUgXQogLi4uCmRpZmYgLS1naXQg
YS9XZWJLaXRMaWJyYXJpZXMvV2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL2FwcGxldHZvcy8x
NC9HcmFwaGljc1NlcnZpY2VzLmZyYW1ld29yay9HcmFwaGljc1NlcnZpY2VzLnRiZCBiL1dlYktp
dExpYnJhcmllcy9XZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMvYXBwbGV0dm9zLzE0L0dyYXBo
aWNzU2VydmljZXMuZnJhbWV3b3JrL0dyYXBoaWNzU2VydmljZXMudGJkCmluZGV4IDA2OTMzOTFk
OWIyZWM0ODZmOTYxYjJkOWRlYWU3ZDFkMzQxZjM3YzQuLmY2YTQ1YWQzYWMzZjgwNjZjM2FmMWEx
YzlmODFhNzkyYWYzOWJkNDEgMTAwNjQ0Ci0tLSBhL1dlYktpdExpYnJhcmllcy9XZWJLaXRQcml2
YXRlRnJhbWV3b3JrU3R1YnMvYXBwbGV0dm9zLzE0L0dyYXBoaWNzU2VydmljZXMuZnJhbWV3b3Jr
L0dyYXBoaWNzU2VydmljZXMudGJkCisrKyBiL1dlYktpdExpYnJhcmllcy9XZWJLaXRQcml2YXRl
RnJhbWV3b3JrU3R1YnMvYXBwbGV0dm9zLzE0L0dyYXBoaWNzU2VydmljZXMuZnJhbWV3b3JrL0dy
YXBoaWNzU2VydmljZXMudGJkCkBAIC04LDUgKzgsNiBAQCBleHBvcnRzOgogICAgIGFyY2hzOiAg
ICAgICAgICAgWyB4ODZfNjQsIGFybTY0IF0KICAgICBzeW1ib2xzOiAgICAgICAgIFsgX0dTQ3Vy
cmVudEV2ZW50VGltZXN0YW1wLCBfR1NFdmVudElzSGFyZHdhcmVLZXlib2FyZEF0dGFjaGVkLCBf
R1NFdmVudFNldEhhcmR3YXJlS2V5Ym9hcmRBdHRhY2hlZCwKICAgICAgICAgICAgICAgICAgICAg
ICAgX0dTRm9udEluaXRpYWxpemUsIF9HU0ZvbnRQdXJnZUZvbnRDYWNoZSwgX0dTSW5pdGlhbGl6
ZSwgX0dTS2V5Ym9hcmRHZXRNb2RpZmllclN0YXRlLAotICAgICAgICAgICAgICAgICAgICAgICBf
R1NLZXlib2FyZEdldExpdmVNb2RpZmllclN0YXRlLCBfR1NTeXN0ZW1Sb290RGlyZWN0b3J5LCBf
a0dTRXZlbnRIYXJkd2FyZUtleWJvYXJkQXZhaWxhYmlsaXR5Q2hhbmdlZE5vdGlmaWNhdGlvbiBd
CisgICAgICAgICAgICAgICAgICAgICAgIF9HU0tleWJvYXJkR2V0TGl2ZU1vZGlmaWVyU3RhdGUs
IF9HU1N5c3RlbVJvb3REaXJlY3RvcnksIF9rR1NFdmVudEhhcmR3YXJlS2V5Ym9hcmRBdmFpbGFi
aWxpdHlDaGFuZ2VkTm90aWZpY2F0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICBfR1NLZXli
b2FyZEdldExheW91dCwgX0dTS2V5Ym9hcmRHZXRIV0tleWJvYXJkVHlwZSBdCiAuLi4KZGlmZiAt
LWdpdCBhL1dlYktpdExpYnJhcmllcy9XZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMvaU9TLzEz
L0dyYXBoaWNzU2VydmljZXMuZnJhbWV3b3JrL0dyYXBoaWNzU2VydmljZXMudGJkIGIvV2ViS2l0
TGlicmFyaWVzL1dlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy9pT1MvMTMvR3JhcGhpY3NTZXJ2
aWNlcy5mcmFtZXdvcmsvR3JhcGhpY3NTZXJ2aWNlcy50YmQKaW5kZXggNzY1OTAwMTQ3ZDYwZmQz
NDJlYmMyOTljMGE0N2QwODJkYWJjYmVjZi4uYjA4ZDQ2MjQ1OWIyZTQ0NTNhZjRlYzFjYjBmODNi
YjM0MWRlMWZjMCAxMDA2NDQKLS0tIGEvV2ViS2l0TGlicmFyaWVzL1dlYktpdFByaXZhdGVGcmFt
ZXdvcmtTdHVicy9pT1MvMTMvR3JhcGhpY3NTZXJ2aWNlcy5mcmFtZXdvcmsvR3JhcGhpY3NTZXJ2
aWNlcy50YmQKKysrIGIvV2ViS2l0TGlicmFyaWVzL1dlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVi
cy9pT1MvMTMvR3JhcGhpY3NTZXJ2aWNlcy5mcmFtZXdvcmsvR3JhcGhpY3NTZXJ2aWNlcy50YmQK
QEAgLTgsNSArOCw2IEBAIGV4cG9ydHM6CiAgICAgYXJjaHM6ICAgICAgICAgICBbIHg4Nl82NCwg
YXJtNjQsIGFybTY0ZSBdCiAgICAgc3ltYm9sczogICAgICAgICBbIF9HU0N1cnJlbnRFdmVudFRp
bWVzdGFtcCwgX0dTRXZlbnRJc0hhcmR3YXJlS2V5Ym9hcmRBdHRhY2hlZCwgX0dTRXZlbnRTZXRI
YXJkd2FyZUtleWJvYXJkQXR0YWNoZWQsCiAgICAgICAgICAgICAgICAgICAgICAgIF9HU0ZvbnRJ
bml0aWFsaXplLCBfR1NGb250UHVyZ2VGb250Q2FjaGUsIF9HU0luaXRpYWxpemUsIF9HU0tleWJv
YXJkR2V0TW9kaWZpZXJTdGF0ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgX0dTS2V5Ym9hcmRH
ZXRMaXZlTW9kaWZpZXJTdGF0ZSwgX0dTU3lzdGVtUm9vdERpcmVjdG9yeSwgX2tHU0V2ZW50SGFy
ZHdhcmVLZXlib2FyZEF2YWlsYWJpbGl0eUNoYW5nZWROb3RpZmljYXRpb24gXQorICAgICAgICAg
ICAgICAgICAgICAgICBfR1NLZXlib2FyZEdldExpdmVNb2RpZmllclN0YXRlLCBfR1NTeXN0ZW1S
b290RGlyZWN0b3J5LCBfa0dTRXZlbnRIYXJkd2FyZUtleWJvYXJkQXZhaWxhYmlsaXR5Q2hhbmdl
ZE5vdGlmaWNhdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgX0dTS2V5Ym9hcmRHZXRMYXlv
dXQsIF9HU0tleWJvYXJkR2V0SFdLZXlib2FyZFR5cGUgXQogLi4uCmRpZmYgLS1naXQgYS9XZWJL
aXRMaWJyYXJpZXMvV2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL2lPUy8xNC9HcmFwaGljc1Nl
cnZpY2VzLmZyYW1ld29yay9HcmFwaGljc1NlcnZpY2VzLnRiZCBiL1dlYktpdExpYnJhcmllcy9X
ZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMvaU9TLzE0L0dyYXBoaWNzU2VydmljZXMuZnJhbWV3
b3JrL0dyYXBoaWNzU2VydmljZXMudGJkCmluZGV4IDc2NTkwMDE0N2Q2MGZkMzQyZWJjMjk5YzBh
NDdkMDgyZGFiY2JlY2YuLmIwOGQ0NjI0NTliMmU0NDUzYWY0ZWMxY2IwZjgzYmIzNDFkZTFmYzAg
MTAwNjQ0Ci0tLSBhL1dlYktpdExpYnJhcmllcy9XZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMv
aU9TLzE0L0dyYXBoaWNzU2VydmljZXMuZnJhbWV3b3JrL0dyYXBoaWNzU2VydmljZXMudGJkCisr
KyBiL1dlYktpdExpYnJhcmllcy9XZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMvaU9TLzE0L0dy
YXBoaWNzU2VydmljZXMuZnJhbWV3b3JrL0dyYXBoaWNzU2VydmljZXMudGJkCkBAIC04LDUgKzgs
NiBAQCBleHBvcnRzOgogICAgIGFyY2hzOiAgICAgICAgICAgWyB4ODZfNjQsIGFybTY0LCBhcm02
NGUgXQogICAgIHN5bWJvbHM6ICAgICAgICAgWyBfR1NDdXJyZW50RXZlbnRUaW1lc3RhbXAsIF9H
U0V2ZW50SXNIYXJkd2FyZUtleWJvYXJkQXR0YWNoZWQsIF9HU0V2ZW50U2V0SGFyZHdhcmVLZXli
b2FyZEF0dGFjaGVkLAogICAgICAgICAgICAgICAgICAgICAgICBfR1NGb250SW5pdGlhbGl6ZSwg
X0dTRm9udFB1cmdlRm9udENhY2hlLCBfR1NJbml0aWFsaXplLCBfR1NLZXlib2FyZEdldE1vZGlm
aWVyU3RhdGUsCi0gICAgICAgICAgICAgICAgICAgICAgIF9HU0tleWJvYXJkR2V0TGl2ZU1vZGlm
aWVyU3RhdGUsIF9HU1N5c3RlbVJvb3REaXJlY3RvcnksIF9rR1NFdmVudEhhcmR3YXJlS2V5Ym9h
cmRBdmFpbGFiaWxpdHlDaGFuZ2VkTm90aWZpY2F0aW9uIF0KKyAgICAgICAgICAgICAgICAgICAg
ICAgX0dTS2V5Ym9hcmRHZXRMaXZlTW9kaWZpZXJTdGF0ZSwgX0dTU3lzdGVtUm9vdERpcmVjdG9y
eSwgX2tHU0V2ZW50SGFyZHdhcmVLZXlib2FyZEF2YWlsYWJpbGl0eUNoYW5nZWROb3RpZmljYXRp
b24sCisgICAgICAgICAgICAgICAgICAgICAgIF9HU0tleWJvYXJkR2V0TGF5b3V0LCBfR1NLZXli
b2FyZEdldEhXS2V5Ym9hcmRUeXBlIF0KIC4uLgpkaWZmIC0tZ2l0IGEvV2ViS2l0TGlicmFyaWVz
L1dlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy93YXRjaG9zLzYvR3JhcGhpY3NTZXJ2aWNlcy5m
cmFtZXdvcmsvR3JhcGhpY3NTZXJ2aWNlcy50YmQgYi9XZWJLaXRMaWJyYXJpZXMvV2ViS2l0UHJp
dmF0ZUZyYW1ld29ya1N0dWJzL3dhdGNob3MvNi9HcmFwaGljc1NlcnZpY2VzLmZyYW1ld29yay9H
cmFwaGljc1NlcnZpY2VzLnRiZAppbmRleCBkYjYzYjUxZjBhZGQxYmJjMDBjYTExMjI2YjM4MWJi
ZWZmNzdlN2EwLi4zZmE3OTNkMjcxODlhOTRlMjczNzM2YTc4ODQ3YmE4MzYwMDYzZTc2IDEwMDY0
NAotLS0gYS9XZWJLaXRMaWJyYXJpZXMvV2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL3dhdGNo
b3MvNi9HcmFwaGljc1NlcnZpY2VzLmZyYW1ld29yay9HcmFwaGljc1NlcnZpY2VzLnRiZAorKysg
Yi9XZWJLaXRMaWJyYXJpZXMvV2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL3dhdGNob3MvNi9H
cmFwaGljc1NlcnZpY2VzLmZyYW1ld29yay9HcmFwaGljc1NlcnZpY2VzLnRiZApAQCAtOCw1ICs4
LDYgQEAgZXhwb3J0czoKICAgICBhcmNoczogICAgICAgICAgIFsgaTM4NiwgeDg2XzY0LCBhcm02
NCwgYXJtNjRlLCBhcm02NF8zMiwgYXJtdjdrIF0KICAgICBzeW1ib2xzOiAgICAgICAgIFsgX0dT
Q3VycmVudEV2ZW50VGltZXN0YW1wLCBfR1NFdmVudElzSGFyZHdhcmVLZXlib2FyZEF0dGFjaGVk
LCBfR1NFdmVudFNldEhhcmR3YXJlS2V5Ym9hcmRBdHRhY2hlZCwKICAgICAgICAgICAgICAgICAg
ICAgICAgX0dTRm9udEluaXRpYWxpemUsIF9HU0ZvbnRQdXJnZUZvbnRDYWNoZSwgX0dTSW5pdGlh
bGl6ZSwgX0dTS2V5Ym9hcmRHZXRNb2RpZmllclN0YXRlLAotICAgICAgICAgICAgICAgICAgICAg
ICBfR1NLZXlib2FyZEdldExpdmVNb2RpZmllclN0YXRlLCBfR1NTeXN0ZW1Sb290RGlyZWN0b3J5
LCBfa0dTRXZlbnRIYXJkd2FyZUtleWJvYXJkQXZhaWxhYmlsaXR5Q2hhbmdlZE5vdGlmaWNhdGlv
biBdCisgICAgICAgICAgICAgICAgICAgICAgIF9HU0tleWJvYXJkR2V0TGl2ZU1vZGlmaWVyU3Rh
dGUsIF9HU1N5c3RlbVJvb3REaXJlY3RvcnksIF9rR1NFdmVudEhhcmR3YXJlS2V5Ym9hcmRBdmFp
bGFiaWxpdHlDaGFuZ2VkTm90aWZpY2F0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICBfR1NL
ZXlib2FyZEdldExheW91dCwgX0dTS2V5Ym9hcmRHZXRIV0tleWJvYXJkVHlwZSBdCiAuLi4KZGlm
ZiAtLWdpdCBhL1dlYktpdExpYnJhcmllcy9XZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMvd2F0
Y2hvcy83L0dyYXBoaWNzU2VydmljZXMuZnJhbWV3b3JrL0dyYXBoaWNzU2VydmljZXMudGJkIGIv
V2ViS2l0TGlicmFyaWVzL1dlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy93YXRjaG9zLzcvR3Jh
cGhpY3NTZXJ2aWNlcy5mcmFtZXdvcmsvR3JhcGhpY3NTZXJ2aWNlcy50YmQKaW5kZXggZGI2M2I1
MWYwYWRkMWJiYzAwY2ExMTIyNmIzODFiYmVmZjc3ZTdhMC4uM2ZhNzkzZDI3MTg5YTk0ZTI3Mzcz
NmE3ODg0N2JhODM2MDA2M2U3NiAxMDA2NDQKLS0tIGEvV2ViS2l0TGlicmFyaWVzL1dlYktpdFBy
aXZhdGVGcmFtZXdvcmtTdHVicy93YXRjaG9zLzcvR3JhcGhpY3NTZXJ2aWNlcy5mcmFtZXdvcmsv
R3JhcGhpY3NTZXJ2aWNlcy50YmQKKysrIGIvV2ViS2l0TGlicmFyaWVzL1dlYktpdFByaXZhdGVG
cmFtZXdvcmtTdHVicy93YXRjaG9zLzcvR3JhcGhpY3NTZXJ2aWNlcy5mcmFtZXdvcmsvR3JhcGhp
Y3NTZXJ2aWNlcy50YmQKQEAgLTgsNSArOCw2IEBAIGV4cG9ydHM6CiAgICAgYXJjaHM6ICAgICAg
ICAgICBbIGkzODYsIHg4Nl82NCwgYXJtNjQsIGFybTY0ZSwgYXJtNjRfMzIsIGFybXY3ayBdCiAg
ICAgc3ltYm9sczogICAgICAgICBbIF9HU0N1cnJlbnRFdmVudFRpbWVzdGFtcCwgX0dTRXZlbnRJ
c0hhcmR3YXJlS2V5Ym9hcmRBdHRhY2hlZCwgX0dTRXZlbnRTZXRIYXJkd2FyZUtleWJvYXJkQXR0
YWNoZWQsCiAgICAgICAgICAgICAgICAgICAgICAgIF9HU0ZvbnRJbml0aWFsaXplLCBfR1NGb250
UHVyZ2VGb250Q2FjaGUsIF9HU0luaXRpYWxpemUsIF9HU0tleWJvYXJkR2V0TW9kaWZpZXJTdGF0
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgX0dTS2V5Ym9hcmRHZXRMaXZlTW9kaWZpZXJTdGF0
ZSwgX0dTU3lzdGVtUm9vdERpcmVjdG9yeSwgX2tHU0V2ZW50SGFyZHdhcmVLZXlib2FyZEF2YWls
YWJpbGl0eUNoYW5nZWROb3RpZmljYXRpb24gXQorICAgICAgICAgICAgICAgICAgICAgICBfR1NL
ZXlib2FyZEdldExpdmVNb2RpZmllclN0YXRlLCBfR1NTeXN0ZW1Sb290RGlyZWN0b3J5LCBfa0dT
RXZlbnRIYXJkd2FyZUtleWJvYXJkQXZhaWxhYmlsaXR5Q2hhbmdlZE5vdGlmaWNhdGlvbiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgX0dTS2V5Ym9hcmRHZXRMYXlvdXQsIF9HU0tleWJvYXJkR2V0
SFdLZXlib2FyZFR5cGUgXQogLi4uCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405254</attachid>
            <date>2020-07-26 11:18:50 -0700</date>
            <delta_ts>2020-07-26 12:25:34 -0700</delta_ts>
            <desc>Speculative fix #3</desc>
            <filename>bug-214688-20200726111849.patch</filename>
            <type>text/plain</type>
            <size>25019</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0ODk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCAwOTFjMThk
MTMzNTg1MjI3ZGJmYWIzMjQyNjYyOTMwN2JiOWU4MzIwLi5iZWJkNzE5N2ZjZWYyOTE0MGRmNjU0
NWQ0Njg1YjM4NjkwZjc0NDI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAor
MjAyMC0wNy0yNiAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAg
ICAgICBSRUdSRVNTSU9OIChyMjY0NjkwKTogWyBpT1Mgd2syIF0gZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgaXMgYSBmbGFreSBm
YWlsdXJlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MTQ2ODgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY1OTkzNjgzPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSBsb2dnaW5nIGFkZGVkIGlu
IHIyNjQ4ODIsIHIyNjQ4OTAsIHIyNjQ4OTIsIGFuZCByMjY0ODk2LgorCisgICAgICAgICogcGFs
L3NwaS9pb3MvR3JhcGhpY3NTZXJ2aWNlc1NQSS5oOgorCiAyMDIwLTA3LTI2ICBXZW5zb24gSHNp
ZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIGFkZCBl
dmVuIG1vcmUgbG9nZ2luZyB0byB0cnkgYW5kIGRpYWdub3NlIGEgZmxha3kgdGVzdApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpp
bmRleCA3MDgwY2U2M2VjYWZmYTM3MjE2MzgzNWVhZTk3OGZjNDJkYjg1NjQ0Li4yYjU0YzJlYWZk
NDRkNmI3MzI2ZWEzMzU5ZGQ4Njg5NDI5M2QyMGI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBA
CisyMDIwLTA3LTI2ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisg
ICAgICAgIFJFR1JFU1NJT04gKHIyNjQ2OTApOiBbIGlPUyB3azIgXSBlZGl0aW5nL3NlbGVjdGlv
bi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBpcyBhIGZsYWt5
IGZhaWx1cmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIxNDY4OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjU5OTM2ODM+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIGxvZ2dpbmcgYWRkZWQg
aW4gcjI2NDg4MiwgcjI2NDg5MCwgcjI2NDg5MiwgYW5kIHIyNjQ4OTYuCisKKyAgICAgICAgKiBQ
bGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0Nv
bnRlbnRWaWV3SW50ZXJhY3Rpb24ubW06CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX3Npbmds
ZVRhcElkZW50aWZpZWQ6XSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX3NpbmdsZVRhcFJl
Y29nbml6ZWQ6XSk6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW06
CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6Y29tbWl0UG90ZW50aWFsVGFwKToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW06CisgICAgICAgIChX
ZWJLaXQ6OldlYlBhZ2U6OmhhbmRsZVN5bnRoZXRpY0NsaWNrKToKKwogMjAyMC0wNy0yNiAgV2Vu
c29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2Vk
LCBwYXJ0aWFsbHkgcmV2ZXJ0IHIyNjQ4OTYuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvcGFsL3NwaS9pb3MvR3JhcGhpY3NTZXJ2aWNlc1NQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFM
L3BhbC9zcGkvaW9zL0dyYXBoaWNzU2VydmljZXNTUEkuaAppbmRleCAzMWZmYzY2Yzg5OGM5NTM1
NTFlNmNiYThhOGZhY2E0NjBkMjk0YWZlLi5lODk5ZTIxZjRjYTcyMDNiOGRmMGYwYTkyOWFiMzY2
NTJkYmU1OTA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9pb3MvR3Jh
cGhpY3NTZXJ2aWNlc1NQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2lvcy9H
cmFwaGljc1NlcnZpY2VzU1BJLmgKQEAgLTQ1LDExICs0NSw4IEBAIHZvaWQgR1NGb250UHVyZ2VG
b250Q2FjaGUodm9pZCk7CiAKIHR5cGVkZWYgc3RydWN0IF9fR1NLZXlib2FyZCogR1NLZXlib2Fy
ZFJlZjsKIHVpbnQzMl90IEdTS2V5Ym9hcmRHZXRNb2RpZmllclN0YXRlKEdTS2V5Ym9hcmRSZWYp
OwotdWludDMyX3QgR1NLZXlib2FyZEdldExpdmVNb2RpZmllclN0YXRlKEdTS2V5Ym9hcmRSZWYp
OwogQm9vbGVhbiBHU0V2ZW50SXNIYXJkd2FyZUtleWJvYXJkQXR0YWNoZWQoKTsKIHZvaWQgR1NF
dmVudFNldEhhcmR3YXJlS2V5Ym9hcmRBdHRhY2hlZChCb29sZWFuIGF0dGFjaGVkLCB1aW50OF90
IGNvdW50cnkpOwotQ0ZTdHJpbmdSZWYgR1NLZXlib2FyZEdldExheW91dChHU0tleWJvYXJkUmVm
KTsKLXVpbnQzMl90IEdTS2V5Ym9hcmRHZXRIV0tleWJvYXJkVHlwZShHU0tleWJvYXJkUmVmKTsK
IAogZXh0ZXJuIGNvbnN0IGNoYXIgKmtHU0V2ZW50SGFyZHdhcmVLZXlib2FyZEF2YWlsYWJpbGl0
eUNoYW5nZWROb3RpZmljYXRpb247CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZv
cm0vc3BpL2lvcy9VSUtpdFNQSS5oIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL1VJ
S2l0U1BJLmgKaW5kZXggZjM3YWE0ZWJlNGNmNWQ3ZDgwZTJmNjg3YTc0ODZhOTkzMWEyYTg0OS4u
MTc2NzUwY2ZlNjEzZjg0YWQ0MjQ1MTE5ZGNjZWM4NjE0YjQ3YWEzMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmgKKysrIGIvU291cmNlL1dlYktp
dC9QbGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmgKQEAgLTE5NCw3ICsxOTQsNiBAQCBXVEZfRVhU
RVJOX0NfRU5ECiAtIChCT09MKWlzU3VzcGVuZGVkVW5kZXJMb2NrOwogLSAodm9pZClfZW5xdWV1
ZUhJREV2ZW50OihJT0hJREV2ZW50UmVmKWV2ZW50OwogLSAodm9pZClfaGFuZGxlSElERXZlbnQ6
KElPSElERXZlbnRSZWYpZXZlbnQ7Ci0tICh2b2lkKWhhbmRsZUtleUhJREV2ZW50OihJT0hJREV2
ZW50UmVmKWV2ZW50OwogLSAodm9pZCloYW5kbGVLZXlVSUV2ZW50OihVSUV2ZW50ICopZXZlbnQ7
CiAtIChCT09MKV9hcHBBZG9wdHNVSVNjZW5lTGlmZWN5Y2xlOwogQGVuZApAQCAtMTM3NywxMCAr
MTM3Niw2IEBAIHR5cGVkZWYgTlNfRU5VTShOU1VJbnRlZ2VyLCBfVUlDb250ZXh0TWVudUxheW91
dCkgewogQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0QmFja2xpZ2h0TGV2ZWw6KSBm
bG9hdCBfYmFja2xpZ2h0TGV2ZWw7CiBAZW5kCiAKLUBpbnRlcmZhY2UgVUlBcHBsaWNhdGlvbiAo
SVBJKQotLSAoR1NLZXlib2FyZFJlZilfaGFyZHdhcmVLZXlib2FyZDooQk9PTCljcmVhdGVJZk5l
ZWRlZDsKLUBlbmQKLQogV1RGX0VYVEVSTl9DX0JFR0lOCiAKIEJPT0wgVUlLZXlib2FyZEVuYWJs
ZWRJbnB1dE1vZGVzQWxsb3dPbmVUb01hbnlTaG9ydGN1dHModm9pZCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQpp
bmRleCAzMzQ4YmM3YmIwM2I1Yzg5NGZkMWNiYmQ5ZmFiNTM4MTQ1MTNkMDlhLi5iMDQxYzI5Mjkx
ZTJhM2MyODY3NjM2OWI1MDBjZmMxYzcyOTY1ZDZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KQEAgLTI3MzYs
NyArMjczNiw2IEBAIC0gKHZvaWQpX3NpbmdsZVRhcElkZW50aWZpZWQ6KFVJVGFwR2VzdHVyZVJl
Y29nbml6ZXIgKilnZXN0dXJlUmVjb2duaXplcgogICAgIGlmIChzaG91bGRSZXF1ZXN0TWFnbmlm
aWNhdGlvbkluZm9ybWF0aW9uKQogICAgICAgICBSRUxFQVNFX0xPRyhWaWV3R2VzdHVyZXMsICJT
aW5nbGUgdGFwIGlkZW50aWZpZWQuIFJlcXVlc3QgZGV0YWlscyBvbiBwb3RlbnRpYWwgem9vbS4g
KCVwKSIsIHNlbGYpOwogCi0gICAgV1RGTG9nQWx3YXlzKCIlcyAtIG1vZGlmaWVyIGZsYWdzOiAw
eCUwMngiLCBfX1BSRVRUWV9GVU5DVElPTl9fLCBXZWJFdmVudC5tb2RpZmllckZsYWdzKTsKICAg
ICBfcGFnZS0+cG90ZW50aWFsVGFwQXRQb3NpdGlvbihnZXN0dXJlUmVjb2duaXplci5sb2NhdGlv
biwgc2hvdWxkUmVxdWVzdE1hZ25pZmljYXRpb25JbmZvcm1hdGlvbiwgKytfbGF0ZXN0VGFwSUQp
OwogICAgIF9wb3RlbnRpYWxUYXBJblByb2dyZXNzID0gWUVTOwogICAgIF9pc1RhcEhpZ2hsaWdo
dElEVmFsaWQgPSBZRVM7CkBAIC0yODI5LDcgKzI4MjgsNiBAQCAtICh2b2lkKV9zaW5nbGVUYXBS
ZWNvZ25pemVkOihVSVRhcEdlc3R1cmVSZWNvZ25pemVyICopZ2VzdHVyZVJlY29nbml6ZXIKICAg
ICAgICAgcG9pbnRlcklkID0gW3NpbmdsZVRhcFRvdWNoSWRlbnRpZmllciB1bnNpZ25lZEludFZh
bHVlXTsKICAgICAgICAgbV9jb21taXRQb3RlbnRpYWxUYXBQb2ludGVySWQgPSBwb2ludGVySWQ7
CiAgICAgfQotICAgIFdURkxvZ0Fsd2F5cygiJXMgLSBtb2RpZmllciBmbGFnczogMHglMDJ4Iiwg
X19QUkVUVFlfRlVOQ1RJT05fXywgV2ViRXZlbnQubW9kaWZpZXJGbGFncyk7CiAgICAgX3BhZ2Ut
PmNvbW1pdFBvdGVudGlhbFRhcChXZWJLaXQ6OndlYkV2ZW50TW9kaWZpZXJGbGFncyhnZXN0dXJl
UmVjb2duaXplck1vZGlmaWVyRmxhZ3MoZ2VzdHVyZVJlY29nbml6ZXIpKSwgX2xheWVyVHJlZVRy
YW5zYWN0aW9uSWRBdExhc3RJbnRlcmFjdGlvblN0YXJ0LCBwb2ludGVySWQpOwogCiAgICAgaWYg
KCFfaXNFeHBlY3RpbmdGYXN0U2luZ2xlVGFwQ29tbWl0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0KaW5kZXggOTg4ZGIxM2Q2MjUwMWJkZmIzY2Vj
YzA0MWU0MmI4OTQ5NjczNjc4Ni4uNzI0Yjg1Mzc5NGNmMzdmMjQ1M2QyNTA1MWZjMjg3NDkzYTMz
OTIxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94
eUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9T
Lm1tCkBAIC04OTUsNyArODk1LDYgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnBvdGVudGlhbFRhcEF0
UG9zaXRpb24oY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgcG9zaXRpb24sIGIKIAogdm9pZCBX
ZWJQYWdlUHJveHk6OmNvbW1pdFBvdGVudGlhbFRhcChPcHRpb25TZXQ8V2ViRXZlbnQ6Ok1vZGlm
aWVyPiBtb2RpZmllcnMsIFRyYW5zYWN0aW9uSUQgbGF5ZXJUcmVlVHJhbnNhY3Rpb25JZEF0TGFz
dFRvdWNoU3RhcnQsIFdlYkNvcmU6OlBvaW50ZXJJRCBwb2ludGVySWQpCiB7Ci0gICAgV1RGTG9n
QWx3YXlzKCJDb21taXR0aW5nIHBvdGVudGlhbCB0YXAgd2l0aCBtb2RpZmllcnM6IDB4JTAyeCIs
IG1vZGlmaWVycy50b1JhdygpKTsKICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpDb21taXRQ
b3RlbnRpYWxUYXAobW9kaWZpZXJzLCBsYXllclRyZWVUcmFuc2FjdGlvbklkQXRMYXN0VG91Y2hT
dGFydCwgcG9pbnRlcklkKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KaW5kZXggY2E0M2Q4NjEzYWI2M2U5MjgyYWVhMmQ0
MzdmNzE2NWFjZWExN2Y1NC4uNmIzNTVkMWE2ZDE5NzNhYmJiOTg3NGQwYjQ3YWI4ZTQyODQxMjM5
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBh
Z2VJT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBh
Z2VJT1MubW0KQEAgLTcxOCw3ICs3MTgsNiBAQCB2b2lkIFdlYlBhZ2U6OmdlbmVyYXRlU3ludGhl
dGljRWRpdGluZ0NvbW1hbmQoU3ludGhldGljRWRpdGluZ0NvbW1hbmRUeXBlIGNvbW1hbgogCiB2
b2lkIFdlYlBhZ2U6OmhhbmRsZVN5bnRoZXRpY0NsaWNrKE5vZGUmIG5vZGVSZXNwb25kaW5nVG9D
bGljaywgY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgbG9jYXRpb24sIE9wdGlvblNldDxXZWJF
dmVudDo6TW9kaWZpZXI+IG1vZGlmaWVycywgV2ViQ29yZTo6UG9pbnRlcklEIHBvaW50ZXJJZCkK
IHsKLSAgICBXVEZMb2dBbHdheXMoIkhhbmRsaW5nIHN5bnRoZXRpYyBjbGljayBhdCAoJS4wZiwg
JS4wZikgd2l0aCBtb2RpZmllcnM6IDB4JTAyeCIsIGxvY2F0aW9uLngoKSwgbG9jYXRpb24ueSgp
LCBtb2RpZmllcnMudG9SYXcoKSk7CiAgICAgYXV0byYgcmVzcG9uZGluZ0RvY3VtZW50ID0gbm9k
ZVJlc3BvbmRpbmdUb0NsaWNrLmRvY3VtZW50KCk7CiAgICAgYXV0byBpc0ZpcnN0U3ludGhldGlj
Q2xpY2tPblBhZ2UgPSAhbV9oYXNIYW5kbGVkU3ludGhldGljQ2xpY2s7CiAgICAgbV9oYXNIYW5k
bGVkU3ludGhldGljQ2xpY2sgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIv
VG9vbHMvQ2hhbmdlTG9nCmluZGV4IGU3YzkwYmQzNzU0MmM4ZDI1N2Y3NTQ0YmZiNTg1MTdmOGZm
YWU0YTEuLjI0ZTBiN2RhODA5NzY0NDliZDkzY2NkNTE5N2U3NWU4ZmYzNjJiODEgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NiBA
QAorMjAyMC0wNy0yNiAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKwor
ICAgICAgICBSRUdSRVNTSU9OIChyMjY0NjkwKTogWyBpT1Mgd2syIF0gZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgaXMgYSBmbGFr
eSBmYWlsdXJlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMTQ2ODgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY1OTkzNjgzPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEF0dGVtcHQgYW5vdGhlciBzcGVj
dWxhdGl2ZSBmaXggZm9yIHRoaXMgZmxha3kgdGVzdCwgbW90aXZhdGVkIGJ5IGxvZ2dpbmcgaW50
cm9kdWNlZCBpbiByMjY0ODk2LiBUaGlzIHJlY2VudGx5CisgICAgICAgIGludHJvZHVjZWQgdGVs
ZW1ldHJ5IHdvdWxkIHN1Z2dlc3QgdGhhdCB0aGlzIHRlc3QgZmFpbHMgd2hlbiB0aGUgYWN0IG9m
IGhhbmRsaW5nIGEgc3ludGhldGljIG1vZGlmaWVyIGtleWRvd24KKyAgICAgICAgZmFpbHMgdG8g
dXBkYXRlIGBHU0tleWJvYXJkUmVmYCdzIGxpdmUgbW9kaWZpZXIgZmxhZ3MgaWYgdGhlIGtleWJv
YXJkIGxheW91dCBjaGFuZ2VzIG1pZC1ldmVudCwgZm9yY2luZyB0aGUKKyAgICAgICAgZXhpc3Rp
bmcgYEdTS2V5Ym9hcmRSZWZgIHRvIGJlIGRlc3Ryb3llZCBhbmQgcmVidWlsdC4KKworICAgICAg
ICBJbiB0aGlzIGNhc2UsIHRoZSBrZXlib2FyZCBsYXlvdXQgY2hhbmdlcyBmcm9tICJIZWJyZXci
IHRvICJVUyIgd2hlbiB0aGlzIHRlc3QgZmFpbHMuIFRoZXJlIGlzIG9ubHkgb25lIChzYW5lKQor
ICAgICAgICBleHBsYW5hdGlvbiBmb3IgdGhpcywgd2hpY2ggaXMgdGhhdCBvbmUgb2YgdGhlIGBl
ZGl0aW5nL2lucHV0L2lvcy9ydGwta2V5Ym9hcmQtaW5wdXQtKi5odG1sYCB0ZXN0cyBzd2l0Y2gg
dG8gYW4KKyAgICAgICAgUlRMIGtleWJvYXJkICgiaGVfSUwiIGluIGJvdGggY2FzZXMpIGJ5IHN3
aXp6bGluZyBvdXQgYC1jdXJyZW50SW5wdXRNb2RlYCBhbmQgYC1jdXJyZW50SW5wdXRNb2RlSW5Q
cmVmZXJlbmNlYCBvbgorICAgICAgICBgVUlLZXlib2FyZElucHV0TW9kZUNvbnRyb2xsZXJgLiBX
aGlsZSB0aGUgc3dpenpsaW5nIGlzIHRvcm4gZG93biBpbiBiZXR3ZWVuIHRlc3QgcnVucyB2aWEg
bG9naWMgaW4KKyAgICAgICAgYFRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybVJlc2V0U3RhdGVUb0Nv
bnNpc3RlbnRWYWx1ZXNgLCBpdCdzIHBvc3NpYmxlIHRoYXQgdGhpcyBjaGFuZ2UgaGFzbid0IHBy
b3BhZ2F0ZWQgdG8KKyAgICAgICAgdGhlIFVJS2l0IG9yIEdyYXBoaWNzU2VydmljZXMgbGF5ZXJz
IC0tIGluIG90aGVyIHdvcmRzLCBgVUlBcHBsaWNhdGlvbmAncyBgR1NLZXlib2FyZFJlZmAgcmVt
YWlucyBzdHVjayBpbiB0aGUKKyAgICAgICAgSGVicmV3IGxheW91dCB1bnRpbCB0aGUgbmV4dCB0
aW1lIGAtR1NLZXlib2FyZEZvckhXTGF5b3V0OmZvcmNlUmVidWlsZDpjcmVhdGVJZk5lZWRlZDpg
IGZvcmNlcyB0aGUga2V5Ym9hcmQgdG8KKyAgICAgICAgYmUgcmVidWlsdCwgd2hpY2ggKGluIHRo
aXMgY2FzZSkgc2VlbXMgdG8gaGFwcGVuIHdoaWxlIHJ1bm5pbmcgYHNoaWZ0LWNsaWNrLWluY2x1
ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sYC4KKworICAgICAgICBGb3IgcmVhc29ucyB0aGF0
IGFyZSBzdGlsbCB1bmNsZWFyLCB0aGlzIGxhenkgcmVnZW5lcmF0aW9uIG9mIHRoZSBgR1NLZXli
b2FyZFJlZmAgY2F1c2VzIEdyYXBoaWNzU2VydmljZXMnIGxpdmUKKyAgICAgICAgbW9kaWZpZXIg
c3RhdGUgdG8gbm90IHVwZGF0ZSB3aGVuIGhhbmRsaW5nIGEgc2hpZnQga2V5IGRvd24gSElEIGV2
ZW50LiBIb3dldmVyLCB3ZSBtaWdodCBiZSBhYmxlIHRvIGZpeCB0aGlzIGJ5CisgICAgICAgIGZv
cmNpbmcgVUlLaXQgdG8gc3luYyB0aGUgZGVmYXVsdCAodW5zd2l6emxlZCkga2V5Ym9hcmQgbGF5
b3V0IGJhY2sgdG8gaXRzIGBHU0tleWJvYXJkUmVmYCBpbW1lZGlhdGVseSB3aGVuIHdlCisgICAg
ICAgIHN0b3Agc3dpenpsaW5nIGBVSUtleWJvYXJkSW5wdXRNb2RlQ29udHJvbGxlcmAgYWZ0ZXIg
cnVubmluZyBhIHRlc3QgdGhhdCBhdHRlbXB0cyB0byBzaW11bGF0ZSBjaGFuZ2luZyBrZXlib2Fy
ZAorICAgICAgICBpbnB1dCBtb2Rlcy4KKworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvaW9z
L1Rlc3RDb250cm9sbGVySU9TLm1tOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6cGxh
dGZvcm1SZXNldFN0YXRlVG9Db25zaXN0ZW50VmFsdWVzKToKKworICAgICAgICBDYWxsIGAtcHJl
cGFyZUtleWJvYXJkSW5wdXRNb2RlRnJvbVByZWZlcmVuY2VzOmAgdG8gZm9yY2UgdGhlIFVJQXBw
IHRvIHVwZGF0ZSBpdHMgaGFyZHdhcmUga2V5Ym9hcmQgc3RhdGUgKGkuZS4KKyAgICAgICAgYEdT
S2V5Ym9hcmRSZWZgKS4KKworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvaW9zL1VJU2NyaXB0
Q29udHJvbGxlcklPUy5tbToKKyAgICAgICAgKFdUUjo6VUlTY3JpcHRDb250cm9sbGVySU9TOjpz
aW5nbGVUYXBBdFBvaW50V2l0aE1vZGlmaWVycyk6CisKKyAgICAgICAgQWxzbywgcmVzdG9yZSB0
aGlzIG1ldGhvZCB0byBob3cgaXQgd2FzIHByaW9yIHRvIHIyNjQ4OTAsIGFzIGl0IGRvZXNuJ3Qg
c2VlbSBsaWtlIHdhaXRpbmcgZm9yIHRoZSBISUQgbWFya2VyCisgICAgICAgIGV2ZW50IGFmdGVy
IHN5bnRoZXNpemluZyBhIGtleWRvd24gaGFkIGFueSBlZmZlY3QuCisKKyAgICAgICAgKiBXZWJL
aXRUZXN0UnVubmVyL2lvcy9tYWluSU9TLm1tOgorICAgICAgICAoLVtXZWJLaXRUZXN0UnVubmVy
QXBwIGhhbmRsZUtleUhJREV2ZW50Ol0pOiBEZWxldGVkLgorCiAyMDIwLTA3LTI2ICBXZW5zb24g
SHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHBh
cnRpYWxseSByZXZlcnQgcjI2NDg5Ni4KZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvaW9zL1Rlc3RDb250cm9sbGVySU9TLm1tIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3Mv
VGVzdENvbnRyb2xsZXJJT1MubW0KaW5kZXggOTlhZWFhODY4MDU5ZDMzMWNhNjlkZjFkYTFjZjM3
MTc2NWQyYzc5ZC4uOTE5ZjRjNjk1M2E2MzVlNTYyZTY2ODk1MWUwNWU2YjBlNzJhYjNkYyAxMDA2
NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVGVzdENvbnRyb2xsZXJJT1MubW0K
KysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVGVzdENvbnRyb2xsZXJJT1MubW0KQEAg
LTE4Miw4ICsxODIsMTEgQEAgYm9vbCBUZXN0Q29udHJvbGxlcjo6cGxhdGZvcm1SZXNldFN0YXRl
VG9Db25zaXN0ZW50VmFsdWVzKGNvbnN0IFRlc3RPcHRpb25zJiBvcHQKICAgICAgICAgbV9rZXli
b2FyZERlbGVnYXRlU3VwcG9ydHNJbWFnZVBhc3RlU3dpenpsZXIgPSBtYWtlVW5pcXVlPEluc3Rh
bmNlTWV0aG9kU3dpenpsZXI+KFVJS2V5Ym9hcmRJbXBsLmNsYXNzLCBAc2VsZWN0b3IoZGVsZWdh
dGVTdXBwb3J0c0ltYWdlUGFzdGUpLCByZWludGVycHJldF9jYXN0PElNUD4ob3ZlcnJpZGVLZXli
b2FyZERlbGVnYXRlU3VwcG9ydHNJbWFnZVBhc3RlKSk7CiAjZW5kaWYKIAotICAgIG1faW5wdXRN
b2RlU3dpenpsZXJzLmNsZWFyKCk7Ci0gICAgbV9vdmVycmlkZGVuS2V5Ym9hcmRJbnB1dE1vZGUg
PSBuaWw7CisgICAgaWYgKG1fb3ZlcnJpZGRlbktleWJvYXJkSW5wdXRNb2RlKSB7CisgICAgICAg
IG1fb3ZlcnJpZGRlbktleWJvYXJkSW5wdXRNb2RlID0gbmlsOworICAgICAgICBtX2lucHV0TW9k
ZVN3aXp6bGVycy5jbGVhcigpOworICAgICAgICBbVUlLZXlib2FyZEltcGwuc2hhcmVkSW5zdGFu
Y2UgcHJlcGFyZUtleWJvYXJkSW5wdXRNb2RlRnJvbVByZWZlcmVuY2VzOm5pbF07CisgICAgfQog
CiAgICAgbV9wcmVzZW50UG9wb3ZlclN3aXp6bGVycy5jbGVhcigpOwogICAgIGlmICghb3B0aW9u
cy5zaG91bGRQcmVzZW50UG9wb3ZlcnMpIHsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvaW9zL1VJU2NyaXB0Q29udHJvbGxlcklPUy5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvaW9zL1VJU2NyaXB0Q29udHJvbGxlcklPUy5tbQppbmRleCAyZWY4OWUyZmZmMWM0MDRjNDIy
MjcwZThmZDlmNTA3M2E3NmU5NDJlLi4xZWJlOWUxMDRmM2RmNTQ3ZGE2ZTI5ZDk1ZTFiOWRmZDcy
NDliYzkwIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9VSVNjcmlwdENv
bnRyb2xsZXJJT1MubW0KKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlTY3JpcHRD
b250cm9sbGVySU9TLm1tCkBAIC0zMDAsMzUgKzMwMCwxOSBAQCB2b2lkIFVJU2NyaXB0Q29udHJv
bGxlcklPUzo6c2luZ2xlVGFwQXRQb2ludFdpdGhNb2RpZmllcnMoV2ViQ29yZTo6RmxvYXRQb2lu
dCBsbwogCiAgICAgd2FpdEZvclNpbmdsZVRhcFRvUmVzZXQoKTsKIAotICAgIGlmICghbW9kaWZp
ZXJGbGFncy5pc0VtcHR5KCkpCi0gICAgICAgIFdURkxvZ0Fsd2F5cygiU3ludGhlc2l6aW5nIG1v
ZGlmaWVyIGtleWRvd24gZXZlbnRzLiIpOwotCiAgICAgZm9yIChhdXRvJiBtb2RpZmllckZsYWcg
OiBtb2RpZmllckZsYWdzKQogICAgICAgICBbW0hJREV2ZW50R2VuZXJhdG9yIHNoYXJlZEhJREV2
ZW50R2VuZXJhdG9yXSBrZXlEb3duOm1vZGlmaWVyRmxhZ107CiAKLSAgICBhdXRvIGRpc3BhdGNo
VGFwID0gW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgbW9kaWZpZXJGbGFn
cyA9IFdURk1vdmUobW9kaWZpZXJGbGFncyksIGJsb2NrID0gV1RGTW92ZShibG9jayksIGxvY2F0
aW9uXSgpIG11dGFibGUgewotICAgICAgICBpZiAoIW1vZGlmaWVyRmxhZ3MuaXNFbXB0eSgpKQot
ICAgICAgICAgICAgV1RGTG9nQWx3YXlzKCJTeW50aGVzaXppbmcgdGFwLiIpOwotCi0gICAgICAg
IFtbSElERXZlbnRHZW5lcmF0b3Igc2hhcmVkSElERXZlbnRHZW5lcmF0b3JdIHRhcDpnbG9iYWxU
b0NvbnRlbnRDb29yZGluYXRlcyh3ZWJWaWV3KCksIGxvY2F0aW9uLngoKSwgbG9jYXRpb24ueSgp
KSBjb21wbGV0aW9uQmxvY2s6W3Byb3RlY3RlZFRoaXMsIG1vZGlmaWVyRmxhZ3MgPSBXVEZNb3Zl
KG1vZGlmaWVyRmxhZ3MpLCBibG9jayA9IFdURk1vdmUoYmxvY2spXSAoKSBtdXRhYmxlIHsKLSAg
ICAgICAgICAgIGlmICghcHJvdGVjdGVkVGhpcy0+bV9jb250ZXh0KQotICAgICAgICAgICAgICAg
IHJldHVybjsKLQotICAgICAgICAgICAgaWYgKCFtb2RpZmllckZsYWdzLmlzRW1wdHkoKSkKLSAg
ICAgICAgICAgICAgICBXVEZMb2dBbHdheXMoIlN5bnRoZXNpemluZyBtb2RpZmllciBrZXl1cCBl
dmVudHMuIik7Ci0KLSAgICAgICAgICAgIGZvciAoc2l6ZV90IGkgPSBtb2RpZmllckZsYWdzLnNp
emUoKTsgaTsgKSB7Ci0gICAgICAgICAgICAgICAgLS1pOwotICAgICAgICAgICAgICAgIFtbSElE
RXZlbnRHZW5lcmF0b3Igc2hhcmVkSElERXZlbnRHZW5lcmF0b3JdIGtleVVwOm1vZGlmaWVyRmxh
Z3NbaV1dOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgW1tISURFdmVudEdlbmVyYXRvciBz
aGFyZWRISURFdmVudEdlbmVyYXRvcl0gc2VuZE1hcmtlckhJREV2ZW50V2l0aENvbXBsZXRpb25C
bG9jazpibG9jay5nZXQoKV07Ci0gICAgICAgIH1dOwotICAgIH07CisgICAgW1tISURFdmVudEdl
bmVyYXRvciBzaGFyZWRISURFdmVudEdlbmVyYXRvcl0gdGFwOmdsb2JhbFRvQ29udGVudENvb3Jk
aW5hdGVzKHdlYlZpZXcoKSwgbG9jYXRpb24ueCgpLCBsb2NhdGlvbi55KCkpIGNvbXBsZXRpb25C
bG9jazpbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCBtb2RpZmllckZsYWdz
ID0gV1RGTW92ZShtb2RpZmllckZsYWdzKSwgYmxvY2sgPSBXVEZNb3ZlKGJsb2NrKV0gKCkgbXV0
YWJsZSB7CisgICAgICAgIGlmICghbV9jb250ZXh0KQorICAgICAgICAgICAgcmV0dXJuOwogCi0g
ICAgaWYgKG1vZGlmaWVyRmxhZ3MuaXNFbXB0eSgpKQotICAgICAgICBkaXNwYXRjaFRhcCgpOwot
ICAgIGVsc2UKLSAgICAgICAgW1tISURFdmVudEdlbmVyYXRvciBzaGFyZWRISURFdmVudEdlbmVy
YXRvcl0gc2VuZE1hcmtlckhJREV2ZW50V2l0aENvbXBsZXRpb25CbG9jazpkaXNwYXRjaFRhcF07
CisgICAgICAgIGZvciAoc2l6ZV90IGkgPSBtb2RpZmllckZsYWdzLnNpemUoKTsgaTsgKSB7Cisg
ICAgICAgICAgICAtLWk7CisgICAgICAgICAgICBbW0hJREV2ZW50R2VuZXJhdG9yIHNoYXJlZEhJ
REV2ZW50R2VuZXJhdG9yXSBrZXlVcDptb2RpZmllckZsYWdzW2ldXTsKKyAgICAgICAgfQorICAg
ICAgICBbW0hJREV2ZW50R2VuZXJhdG9yIHNoYXJlZEhJREV2ZW50R2VuZXJhdG9yXSBzZW5kTWFy
a2VySElERXZlbnRXaXRoQ29tcGxldGlvbkJsb2NrOmJsb2NrLmdldCgpXTsKKyAgICB9XTsKIH0K
IAogdm9pZCBVSVNjcmlwdENvbnRyb2xsZXJJT1M6OmRvdWJsZVRhcEF0UG9pbnQobG9uZyB4LCBs
b25nIHksIGZsb2F0IGRlbGF5LCBKU1ZhbHVlUmVmIGNhbGxiYWNrKQpkaWZmIC0tZ2l0IGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvbWFpbklPUy5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvaW9zL21haW5JT1MubW0KaW5kZXggMjU1ZTc4ZDIyNjdjOWFiMTQ4ZDk4OWMwYmI4Yjc4MzFm
NjFjYWZhNS4uMWE5MDZlZmRiYTAxMDcxZDFhMWM4NDQxMWI3OTMxYjZlOGFiYTE1NyAxMDA2NDQK
LS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvbWFpbklPUy5tbQorKysgYi9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL2lvcy9tYWluSU9TLm1tCkBAIC0yOCw3ICsyOCw2IEBACiAjaW1wb3J0
ICJISURFdmVudEdlbmVyYXRvci5oIgogI2ltcG9ydCAiVGVzdENvbnRyb2xsZXIuaCIKICNpbXBv
cnQgIlVJS2l0U1BJLmgiCi0jaW1wb3J0IDxwYWwvc3BpL2lvcy9HcmFwaGljc1NlcnZpY2VzU1BJ
Lmg+CiAKIHN0YXRpYyBpbnQgX2FyZ2M7CiBzdGF0aWMgY29uc3QgY2hhciAqKl9hcmd2OwpAQCAt
NTUsMTkgKzU0LDYgQEAgLSAodm9pZClhcHBsaWNhdGlvbkRpZEVudGVyQmFja2dyb3VuZDooVUlB
cHBsaWNhdGlvbiAqKWFwcGxpY2F0aW9uCiAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQo
KTsKIH0KIAotLSAodm9pZCloYW5kbGVLZXlISURFdmVudDooSU9ISURFdmVudFJlZilldmVudAot
ewotICAgIHsKLSAgICAgICAgYXV0byBrZXlib2FyZCA9IFtzZWxmIF9oYXJkd2FyZUtleWJvYXJk
Ok5PXTsKLSAgICAgICAgV1RGTG9nQWx3YXlzKCIoQmVmb3JlKToga2V5Ym9hcmQgJXAgaGFzIG1v
ZGlmaWVyIHN0YXRlOiAweCUwMng7IGxheW91dDolQDsgdHlwZTogJWQiLCBrZXlib2FyZCwgR1NL
ZXlib2FyZEdldExpdmVNb2RpZmllclN0YXRlKGtleWJvYXJkKSwgKF9fYnJpZGdlIE5TU3RyaW5n
ICopR1NLZXlib2FyZEdldExheW91dChrZXlib2FyZCksIEdTS2V5Ym9hcmRHZXRIV0tleWJvYXJk
VHlwZShrZXlib2FyZCkpOwotICAgIH0KLSAgICBbc3VwZXIgaGFuZGxlS2V5SElERXZlbnQ6ZXZl
bnRdOwotICAgIHsKLSAgICAgICAgYXV0byBrZXlib2FyZCA9IFtzZWxmIF9oYXJkd2FyZUtleWJv
YXJkOk5PXTsKLSAgICAgICAgV1RGTG9nQWx3YXlzKCIoQWZ0ZXIpOiBrZXlib2FyZCAlcCBoYXMg
bW9kaWZpZXIgc3RhdGU6IDB4JTAyeDsgbGF5b3V0OiVAOyB0eXBlOiAlZCIsIGtleWJvYXJkLCBH
U0tleWJvYXJkR2V0TGl2ZU1vZGlmaWVyU3RhdGUoa2V5Ym9hcmQpLCAoX19icmlkZ2UgTlNTdHJp
bmcgKilHU0tleWJvYXJkR2V0TGF5b3V0KGtleWJvYXJkKSwgR1NLZXlib2FyZEdldEhXS2V5Ym9h
cmRUeXBlKGtleWJvYXJkKSk7Ci0gICAgfQotfQotCiAtICh2b2lkKV9oYW5kbGVISURFdmVudDoo
SU9ISURFdmVudFJlZilldmVudAogewogICAgIFtzdXBlciBfaGFuZGxlSElERXZlbnQ6ZXZlbnRd
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCmluZGV4IGM0YzBkMjgzYTU4NDQxNjU5YTU4MWY1NDU3NjFlYWQxYzE0YmU5NTQuLjMzMTY3
MzMyMGZkMzk2YWM0ZDkyYmY1ODlkYTczNmFjNmRjOWFhZjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBA
QAorMjAyMC0wNy0yNiAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKwor
ICAgICAgICBSRUdSRVNTSU9OIChyMjY0NjkwKTogWyBpT1Mgd2syIF0gZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgaXMgYSBmbGFr
eSBmYWlsdXJlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMTQ2ODgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY1OTkzNjgzPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSB0aGUgZmFpbGluZyB0
ZXN0IGV4cGVjdGF0aW9uLgorCisgICAgICAgICogcGxhdGZvcm0vaW9zLXNpbXVsYXRvci13azIv
VGVzdEV4cGVjdGF0aW9uczoKKwogMjAyMC0wNy0yNiAgRGllZ28gUGlubyBHYXJjaWEgIDxkcGlu
b0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIFVucmV2aWV3ZWQgdGVzdCBnYXJkZW5pbmcu
IEdhcmRlbiBmbGFreSBmYWlsdXJlcyBhZnRlciByMjY0ODk3LgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vaW9zLXNpbXVsYXRvci13azIvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11bGF0b3Itd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXgg
ZTg4YzQzODY3N2M3NjM1NzEyMzhlZWYyOGU1ZDY3M2IxMzhlNTdlMi4uYTUzMmQyMTg2MjNhMjMz
ZDg4YWJkNzU2NzBhYjcxZWQwOTQzYjBmNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vaW9zLXNpbXVsYXRvci13azIvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9pb3Mtc2ltdWxhdG9yLXdrMi9UZXN0RXhwZWN0YXRpb25zCkBAIC05Miw4ICs5Miw2
IEBAIHdlYmtpdC5vcmcvYi8yMDc0OTYgaHR0cC93cHQvY2FjaGUtc3RvcmFnZS9jYWNoZS1wdXQt
a2V5cy5odHRwcy5hbnkuaHRtbCBbIFBhc3MKIAogd2Via2l0Lm9yZy9iLzIxNDQyMiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYmF1ZGlvL3RoZS1hdWRpby1hcGkvdGhlLWF1ZGlv
Y29udGV4dC1pbnRlcmZhY2Uvc3VzcGVuZC1hZnRlci1jb25zdHJ1Y3QuaHRtbCBbIFBhc3MgRmFp
bHVyZSBdCiAKLXdlYmtpdC5vcmcvYi8yMTQ2ODggZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xp
Y2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQotCiB3
ZWJraXQub3JnL2IvMjE0NzMwIFsgRGVidWcgXSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dlYnJ0Yy9SVENTY3RwVHJhbnNwb3J0LWNvbnN0cnVjdG9yLmh0bWwgWyBTa2lwIF0KIHdl
YmtpdC5vcmcvYi8yMTQ3MzAgWyBEZWJ1ZyBdIHdlYnJ0Yy9zaW11bGNhc3QtaDI2NC5odG1sIFsg
U2tpcCBdCiAKZGlmZiAtLWdpdCBhL1dlYktpdExpYnJhcmllcy9DaGFuZ2VMb2cgYi9XZWJLaXRM
aWJyYXJpZXMvQ2hhbmdlTG9nCmluZGV4IGVlMDhmM2ZkYzlhNDk5NzM5MDg5ZmEwOTRlOWY3MWFi
NDA5YTBmZjYuLjBiN2MxNDQwMjJhMTBmNTE2OTkyZGY4YzdlYWNjYWQ0ZjUxOTA0N2EgMTAwNjQ0
Ci0tLSBhL1dlYktpdExpYnJhcmllcy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0TGlicmFyaWVzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDIwLTA3LTI2ICBXZW5zb24gSHNpZWggIDx3ZW5z
b25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04gKHIyNjQ2OTApOiBbIGlP
UyB3azIgXSBlZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1z
ZWxlY3Rpb24uaHRtbCBpcyBhIGZsYWt5IGZhaWx1cmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNDY4OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
NjU5OTM2ODM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgUmVtb3ZlIGxvZ2dpbmcgYWRkZWQgaW4gcjI2NDg4MiwgcjI2NDg5MCwgcjI2NDg5MiwgYW5k
IHIyNjQ4OTYuCisKKyAgICAgICAgKiBXZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMvYXBwbGV0
dm9zLzEzL0dyYXBoaWNzU2VydmljZXMuZnJhbWV3b3JrL0dyYXBoaWNzU2VydmljZXMudGJkOgor
ICAgICAgICAqIFdlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy9hcHBsZXR2b3MvMTQvR3JhcGhp
Y3NTZXJ2aWNlcy5mcmFtZXdvcmsvR3JhcGhpY3NTZXJ2aWNlcy50YmQ6CisgICAgICAgICogV2Vi
S2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL2lPUy8xMy9HcmFwaGljc1NlcnZpY2VzLmZyYW1ld29y
ay9HcmFwaGljc1NlcnZpY2VzLnRiZDoKKyAgICAgICAgKiBXZWJLaXRQcml2YXRlRnJhbWV3b3Jr
U3R1YnMvaU9TLzE0L0dyYXBoaWNzU2VydmljZXMuZnJhbWV3b3JrL0dyYXBoaWNzU2VydmljZXMu
dGJkOgorICAgICAgICAqIFdlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy93YXRjaG9zLzYvR3Jh
cGhpY3NTZXJ2aWNlcy5mcmFtZXdvcmsvR3JhcGhpY3NTZXJ2aWNlcy50YmQ6CisgICAgICAgICog
V2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL3dhdGNob3MvNy9HcmFwaGljc1NlcnZpY2VzLmZy
YW1ld29yay9HcmFwaGljc1NlcnZpY2VzLnRiZDoKKwogMjAyMC0wNy0yNiAgV2Vuc29uIEhzaWVo
ICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBhZGQgZXZl
biBtb3JlIGxvZ2dpbmcgdG8gdHJ5IGFuZCBkaWFnbm9zZSBhIGZsYWt5IHRlc3QKZGlmZiAtLWdp
dCBhL1dlYktpdExpYnJhcmllcy9XZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMvYXBwbGV0dm9z
LzEzL0dyYXBoaWNzU2VydmljZXMuZnJhbWV3b3JrL0dyYXBoaWNzU2VydmljZXMudGJkIGIvV2Vi
S2l0TGlicmFyaWVzL1dlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy9hcHBsZXR2b3MvMTMvR3Jh
cGhpY3NTZXJ2aWNlcy5mcmFtZXdvcmsvR3JhcGhpY3NTZXJ2aWNlcy50YmQKaW5kZXggZjZhNDVh
ZDNhYzNmODA2NmMzYWYxYTFjOWY4MWE3OTJhZjM5YmQ0MS4uOTlhMmNlYTg1MmUzMzk0MGM3OGZj
NGU2NmY2NzMwY2ZmZmUxMjU3NiAxMDA2NDQKLS0tIGEvV2ViS2l0TGlicmFyaWVzL1dlYktpdFBy
aXZhdGVGcmFtZXdvcmtTdHVicy9hcHBsZXR2b3MvMTMvR3JhcGhpY3NTZXJ2aWNlcy5mcmFtZXdv
cmsvR3JhcGhpY3NTZXJ2aWNlcy50YmQKKysrIGIvV2ViS2l0TGlicmFyaWVzL1dlYktpdFByaXZh
dGVGcmFtZXdvcmtTdHVicy9hcHBsZXR2b3MvMTMvR3JhcGhpY3NTZXJ2aWNlcy5mcmFtZXdvcmsv
R3JhcGhpY3NTZXJ2aWNlcy50YmQKQEAgLTgsNiArOCw1IEBAIGV4cG9ydHM6CiAgICAgYXJjaHM6
ICAgICAgICAgICBbIHg4Nl82NCwgYXJtNjQgXQogICAgIHN5bWJvbHM6ICAgICAgICAgWyBfR1ND
dXJyZW50RXZlbnRUaW1lc3RhbXAsIF9HU0V2ZW50SXNIYXJkd2FyZUtleWJvYXJkQXR0YWNoZWQs
IF9HU0V2ZW50U2V0SGFyZHdhcmVLZXlib2FyZEF0dGFjaGVkLAogICAgICAgICAgICAgICAgICAg
ICAgICBfR1NGb250SW5pdGlhbGl6ZSwgX0dTRm9udFB1cmdlRm9udENhY2hlLCBfR1NJbml0aWFs
aXplLCBfR1NLZXlib2FyZEdldE1vZGlmaWVyU3RhdGUsCi0gICAgICAgICAgICAgICAgICAgICAg
IF9HU0tleWJvYXJkR2V0TGl2ZU1vZGlmaWVyU3RhdGUsIF9HU1N5c3RlbVJvb3REaXJlY3Rvcnks
IF9rR1NFdmVudEhhcmR3YXJlS2V5Ym9hcmRBdmFpbGFiaWxpdHlDaGFuZ2VkTm90aWZpY2F0aW9u
LAotICAgICAgICAgICAgICAgICAgICAgICBfR1NLZXlib2FyZEdldExheW91dCwgX0dTS2V5Ym9h
cmRHZXRIV0tleWJvYXJkVHlwZSBdCisgICAgICAgICAgICAgICAgICAgICAgIF9HU1N5c3RlbVJv
b3REaXJlY3RvcnksIF9rR1NFdmVudEhhcmR3YXJlS2V5Ym9hcmRBdmFpbGFiaWxpdHlDaGFuZ2Vk
Tm90aWZpY2F0aW9uXQogLi4uCmRpZmYgLS1naXQgYS9XZWJLaXRMaWJyYXJpZXMvV2ViS2l0UHJp
dmF0ZUZyYW1ld29ya1N0dWJzL2FwcGxldHZvcy8xNC9HcmFwaGljc1NlcnZpY2VzLmZyYW1ld29y
ay9HcmFwaGljc1NlcnZpY2VzLnRiZCBiL1dlYktpdExpYnJhcmllcy9XZWJLaXRQcml2YXRlRnJh
bWV3b3JrU3R1YnMvYXBwbGV0dm9zLzE0L0dyYXBoaWNzU2VydmljZXMuZnJhbWV3b3JrL0dyYXBo
aWNzU2VydmljZXMudGJkCmluZGV4IGY2YTQ1YWQzYWMzZjgwNjZjM2FmMWExYzlmODFhNzkyYWYz
OWJkNDEuLjk5YTJjZWE4NTJlMzM5NDBjNzhmYzRlNjZmNjczMGNmZmZlMTI1NzYgMTAwNjQ0Ci0t
LSBhL1dlYktpdExpYnJhcmllcy9XZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMvYXBwbGV0dm9z
LzE0L0dyYXBoaWNzU2VydmljZXMuZnJhbWV3b3JrL0dyYXBoaWNzU2VydmljZXMudGJkCisrKyBi
L1dlYktpdExpYnJhcmllcy9XZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMvYXBwbGV0dm9zLzE0
L0dyYXBoaWNzU2VydmljZXMuZnJhbWV3b3JrL0dyYXBoaWNzU2VydmljZXMudGJkCkBAIC04LDYg
KzgsNSBAQCBleHBvcnRzOgogICAgIGFyY2hzOiAgICAgICAgICAgWyB4ODZfNjQsIGFybTY0IF0K
ICAgICBzeW1ib2xzOiAgICAgICAgIFsgX0dTQ3VycmVudEV2ZW50VGltZXN0YW1wLCBfR1NFdmVu
dElzSGFyZHdhcmVLZXlib2FyZEF0dGFjaGVkLCBfR1NFdmVudFNldEhhcmR3YXJlS2V5Ym9hcmRB
dHRhY2hlZCwKICAgICAgICAgICAgICAgICAgICAgICAgX0dTRm9udEluaXRpYWxpemUsIF9HU0Zv
bnRQdXJnZUZvbnRDYWNoZSwgX0dTSW5pdGlhbGl6ZSwgX0dTS2V5Ym9hcmRHZXRNb2RpZmllclN0
YXRlLAotICAgICAgICAgICAgICAgICAgICAgICBfR1NLZXlib2FyZEdldExpdmVNb2RpZmllclN0
YXRlLCBfR1NTeXN0ZW1Sb290RGlyZWN0b3J5LCBfa0dTRXZlbnRIYXJkd2FyZUtleWJvYXJkQXZh
aWxhYmlsaXR5Q2hhbmdlZE5vdGlmaWNhdGlvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgX0dT
S2V5Ym9hcmRHZXRMYXlvdXQsIF9HU0tleWJvYXJkR2V0SFdLZXlib2FyZFR5cGUgXQorICAgICAg
ICAgICAgICAgICAgICAgICBfR1NTeXN0ZW1Sb290RGlyZWN0b3J5LCBfa0dTRXZlbnRIYXJkd2Fy
ZUtleWJvYXJkQXZhaWxhYmlsaXR5Q2hhbmdlZE5vdGlmaWNhdGlvbl0KIC4uLgpkaWZmIC0tZ2l0
IGEvV2ViS2l0TGlicmFyaWVzL1dlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy9pT1MvMTMvR3Jh
cGhpY3NTZXJ2aWNlcy5mcmFtZXdvcmsvR3JhcGhpY3NTZXJ2aWNlcy50YmQgYi9XZWJLaXRMaWJy
YXJpZXMvV2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL2lPUy8xMy9HcmFwaGljc1NlcnZpY2Vz
LmZyYW1ld29yay9HcmFwaGljc1NlcnZpY2VzLnRiZAppbmRleCBiMDhkNDYyNDU5YjJlNDQ1M2Fm
NGVjMWNiMGY4M2JiMzQxZGUxZmMwLi4zNzI5OTY3ZmNjMGI5YzZkNTdiMDc2NDU5ODEwZDJlMGI0
NTRkNGZjIDEwMDY0NAotLS0gYS9XZWJLaXRMaWJyYXJpZXMvV2ViS2l0UHJpdmF0ZUZyYW1ld29y
a1N0dWJzL2lPUy8xMy9HcmFwaGljc1NlcnZpY2VzLmZyYW1ld29yay9HcmFwaGljc1NlcnZpY2Vz
LnRiZAorKysgYi9XZWJLaXRMaWJyYXJpZXMvV2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL2lP
Uy8xMy9HcmFwaGljc1NlcnZpY2VzLmZyYW1ld29yay9HcmFwaGljc1NlcnZpY2VzLnRiZApAQCAt
OCw2ICs4LDUgQEAgZXhwb3J0czoKICAgICBhcmNoczogICAgICAgICAgIFsgeDg2XzY0LCBhcm02
NCwgYXJtNjRlIF0KICAgICBzeW1ib2xzOiAgICAgICAgIFsgX0dTQ3VycmVudEV2ZW50VGltZXN0
YW1wLCBfR1NFdmVudElzSGFyZHdhcmVLZXlib2FyZEF0dGFjaGVkLCBfR1NFdmVudFNldEhhcmR3
YXJlS2V5Ym9hcmRBdHRhY2hlZCwKICAgICAgICAgICAgICAgICAgICAgICAgX0dTRm9udEluaXRp
YWxpemUsIF9HU0ZvbnRQdXJnZUZvbnRDYWNoZSwgX0dTSW5pdGlhbGl6ZSwgX0dTS2V5Ym9hcmRH
ZXRNb2RpZmllclN0YXRlLAotICAgICAgICAgICAgICAgICAgICAgICBfR1NLZXlib2FyZEdldExp
dmVNb2RpZmllclN0YXRlLCBfR1NTeXN0ZW1Sb290RGlyZWN0b3J5LCBfa0dTRXZlbnRIYXJkd2Fy
ZUtleWJvYXJkQXZhaWxhYmlsaXR5Q2hhbmdlZE5vdGlmaWNhdGlvbiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgX0dTS2V5Ym9hcmRHZXRMYXlvdXQsIF9HU0tleWJvYXJkR2V0SFdLZXlib2FyZFR5
cGUgXQorICAgICAgICAgICAgICAgICAgICAgICBfR1NTeXN0ZW1Sb290RGlyZWN0b3J5LCBfa0dT
RXZlbnRIYXJkd2FyZUtleWJvYXJkQXZhaWxhYmlsaXR5Q2hhbmdlZE5vdGlmaWNhdGlvbl0KIC4u
LgpkaWZmIC0tZ2l0IGEvV2ViS2l0TGlicmFyaWVzL1dlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVi
cy9pT1MvMTQvR3JhcGhpY3NTZXJ2aWNlcy5mcmFtZXdvcmsvR3JhcGhpY3NTZXJ2aWNlcy50YmQg
Yi9XZWJLaXRMaWJyYXJpZXMvV2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL2lPUy8xNC9HcmFw
aGljc1NlcnZpY2VzLmZyYW1ld29yay9HcmFwaGljc1NlcnZpY2VzLnRiZAppbmRleCBiMDhkNDYy
NDU5YjJlNDQ1M2FmNGVjMWNiMGY4M2JiMzQxZGUxZmMwLi4zNzI5OTY3ZmNjMGI5YzZkNTdiMDc2
NDU5ODEwZDJlMGI0NTRkNGZjIDEwMDY0NAotLS0gYS9XZWJLaXRMaWJyYXJpZXMvV2ViS2l0UHJp
dmF0ZUZyYW1ld29ya1N0dWJzL2lPUy8xNC9HcmFwaGljc1NlcnZpY2VzLmZyYW1ld29yay9HcmFw
aGljc1NlcnZpY2VzLnRiZAorKysgYi9XZWJLaXRMaWJyYXJpZXMvV2ViS2l0UHJpdmF0ZUZyYW1l
d29ya1N0dWJzL2lPUy8xNC9HcmFwaGljc1NlcnZpY2VzLmZyYW1ld29yay9HcmFwaGljc1NlcnZp
Y2VzLnRiZApAQCAtOCw2ICs4LDUgQEAgZXhwb3J0czoKICAgICBhcmNoczogICAgICAgICAgIFsg
eDg2XzY0LCBhcm02NCwgYXJtNjRlIF0KICAgICBzeW1ib2xzOiAgICAgICAgIFsgX0dTQ3VycmVu
dEV2ZW50VGltZXN0YW1wLCBfR1NFdmVudElzSGFyZHdhcmVLZXlib2FyZEF0dGFjaGVkLCBfR1NF
dmVudFNldEhhcmR3YXJlS2V5Ym9hcmRBdHRhY2hlZCwKICAgICAgICAgICAgICAgICAgICAgICAg
X0dTRm9udEluaXRpYWxpemUsIF9HU0ZvbnRQdXJnZUZvbnRDYWNoZSwgX0dTSW5pdGlhbGl6ZSwg
X0dTS2V5Ym9hcmRHZXRNb2RpZmllclN0YXRlLAotICAgICAgICAgICAgICAgICAgICAgICBfR1NL
ZXlib2FyZEdldExpdmVNb2RpZmllclN0YXRlLCBfR1NTeXN0ZW1Sb290RGlyZWN0b3J5LCBfa0dT
RXZlbnRIYXJkd2FyZUtleWJvYXJkQXZhaWxhYmlsaXR5Q2hhbmdlZE5vdGlmaWNhdGlvbiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgX0dTS2V5Ym9hcmRHZXRMYXlvdXQsIF9HU0tleWJvYXJkR2V0
SFdLZXlib2FyZFR5cGUgXQorICAgICAgICAgICAgICAgICAgICAgICBfR1NTeXN0ZW1Sb290RGly
ZWN0b3J5LCBfa0dTRXZlbnRIYXJkd2FyZUtleWJvYXJkQXZhaWxhYmlsaXR5Q2hhbmdlZE5vdGlm
aWNhdGlvbl0KIC4uLgpkaWZmIC0tZ2l0IGEvV2ViS2l0TGlicmFyaWVzL1dlYktpdFByaXZhdGVG
cmFtZXdvcmtTdHVicy93YXRjaG9zLzYvR3JhcGhpY3NTZXJ2aWNlcy5mcmFtZXdvcmsvR3JhcGhp
Y3NTZXJ2aWNlcy50YmQgYi9XZWJLaXRMaWJyYXJpZXMvV2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0
dWJzL3dhdGNob3MvNi9HcmFwaGljc1NlcnZpY2VzLmZyYW1ld29yay9HcmFwaGljc1NlcnZpY2Vz
LnRiZAppbmRleCAzZmE3OTNkMjcxODlhOTRlMjczNzM2YTc4ODQ3YmE4MzYwMDYzZTc2Li40ZmI5
YzQ0MTdiNzA1ODBmNjllZTQxZTg4MjJmYjM3MWQ0NDRjM2M4IDEwMDY0NAotLS0gYS9XZWJLaXRM
aWJyYXJpZXMvV2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL3dhdGNob3MvNi9HcmFwaGljc1Nl
cnZpY2VzLmZyYW1ld29yay9HcmFwaGljc1NlcnZpY2VzLnRiZAorKysgYi9XZWJLaXRMaWJyYXJp
ZXMvV2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL3dhdGNob3MvNi9HcmFwaGljc1NlcnZpY2Vz
LmZyYW1ld29yay9HcmFwaGljc1NlcnZpY2VzLnRiZApAQCAtOCw2ICs4LDUgQEAgZXhwb3J0czoK
ICAgICBhcmNoczogICAgICAgICAgIFsgaTM4NiwgeDg2XzY0LCBhcm02NCwgYXJtNjRlLCBhcm02
NF8zMiwgYXJtdjdrIF0KICAgICBzeW1ib2xzOiAgICAgICAgIFsgX0dTQ3VycmVudEV2ZW50VGlt
ZXN0YW1wLCBfR1NFdmVudElzSGFyZHdhcmVLZXlib2FyZEF0dGFjaGVkLCBfR1NFdmVudFNldEhh
cmR3YXJlS2V5Ym9hcmRBdHRhY2hlZCwKICAgICAgICAgICAgICAgICAgICAgICAgX0dTRm9udElu
aXRpYWxpemUsIF9HU0ZvbnRQdXJnZUZvbnRDYWNoZSwgX0dTSW5pdGlhbGl6ZSwgX0dTS2V5Ym9h
cmRHZXRNb2RpZmllclN0YXRlLAotICAgICAgICAgICAgICAgICAgICAgICBfR1NLZXlib2FyZEdl
dExpdmVNb2RpZmllclN0YXRlLCBfR1NTeXN0ZW1Sb290RGlyZWN0b3J5LCBfa0dTRXZlbnRIYXJk
d2FyZUtleWJvYXJkQXZhaWxhYmlsaXR5Q2hhbmdlZE5vdGlmaWNhdGlvbiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgX0dTS2V5Ym9hcmRHZXRMYXlvdXQsIF9HU0tleWJvYXJkR2V0SFdLZXlib2Fy
ZFR5cGUgXQorICAgICAgICAgICAgICAgICAgICAgICBfR1NTeXN0ZW1Sb290RGlyZWN0b3J5LCBf
a0dTRXZlbnRIYXJkd2FyZUtleWJvYXJkQXZhaWxhYmlsaXR5Q2hhbmdlZE5vdGlmaWNhdGlvbl0K
IC4uLgpkaWZmIC0tZ2l0IGEvV2ViS2l0TGlicmFyaWVzL1dlYktpdFByaXZhdGVGcmFtZXdvcmtT
dHVicy93YXRjaG9zLzcvR3JhcGhpY3NTZXJ2aWNlcy5mcmFtZXdvcmsvR3JhcGhpY3NTZXJ2aWNl
cy50YmQgYi9XZWJLaXRMaWJyYXJpZXMvV2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL3dhdGNo
b3MvNy9HcmFwaGljc1NlcnZpY2VzLmZyYW1ld29yay9HcmFwaGljc1NlcnZpY2VzLnRiZAppbmRl
eCAzZmE3OTNkMjcxODlhOTRlMjczNzM2YTc4ODQ3YmE4MzYwMDYzZTc2Li40ZmI5YzQ0MTdiNzA1
ODBmNjllZTQxZTg4MjJmYjM3MWQ0NDRjM2M4IDEwMDY0NAotLS0gYS9XZWJLaXRMaWJyYXJpZXMv
V2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL3dhdGNob3MvNy9HcmFwaGljc1NlcnZpY2VzLmZy
YW1ld29yay9HcmFwaGljc1NlcnZpY2VzLnRiZAorKysgYi9XZWJLaXRMaWJyYXJpZXMvV2ViS2l0
UHJpdmF0ZUZyYW1ld29ya1N0dWJzL3dhdGNob3MvNy9HcmFwaGljc1NlcnZpY2VzLmZyYW1ld29y
ay9HcmFwaGljc1NlcnZpY2VzLnRiZApAQCAtOCw2ICs4LDUgQEAgZXhwb3J0czoKICAgICBhcmNo
czogICAgICAgICAgIFsgaTM4NiwgeDg2XzY0LCBhcm02NCwgYXJtNjRlLCBhcm02NF8zMiwgYXJt
djdrIF0KICAgICBzeW1ib2xzOiAgICAgICAgIFsgX0dTQ3VycmVudEV2ZW50VGltZXN0YW1wLCBf
R1NFdmVudElzSGFyZHdhcmVLZXlib2FyZEF0dGFjaGVkLCBfR1NFdmVudFNldEhhcmR3YXJlS2V5
Ym9hcmRBdHRhY2hlZCwKICAgICAgICAgICAgICAgICAgICAgICAgX0dTRm9udEluaXRpYWxpemUs
IF9HU0ZvbnRQdXJnZUZvbnRDYWNoZSwgX0dTSW5pdGlhbGl6ZSwgX0dTS2V5Ym9hcmRHZXRNb2Rp
ZmllclN0YXRlLAotICAgICAgICAgICAgICAgICAgICAgICBfR1NLZXlib2FyZEdldExpdmVNb2Rp
ZmllclN0YXRlLCBfR1NTeXN0ZW1Sb290RGlyZWN0b3J5LCBfa0dTRXZlbnRIYXJkd2FyZUtleWJv
YXJkQXZhaWxhYmlsaXR5Q2hhbmdlZE5vdGlmaWNhdGlvbiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgX0dTS2V5Ym9hcmRHZXRMYXlvdXQsIF9HU0tleWJvYXJkR2V0SFdLZXlib2FyZFR5cGUgXQor
ICAgICAgICAgICAgICAgICAgICAgICBfR1NTeXN0ZW1Sb290RGlyZWN0b3J5LCBfa0dTRXZlbnRI
YXJkd2FyZUtleWJvYXJkQXZhaWxhYmlsaXR5Q2hhbmdlZE5vdGlmaWNhdGlvbl0KIC4uLgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>